Skip to content

Commit 879fc2e

Browse files
solves #2432: The Employee That Worked on the Longest Task in java
1 parent c4ae3d2 commit 879fc2e

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

Diff for: README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -771,7 +771,7 @@
771771
| 2418 | [Sort the People](https://leetcode.com/problems/sort-the-people) | [![Java](assets/java.png)](src/SortThePeople.java) | |
772772
| 2423 | [Remove Letter To Equalize Frequency](https://leetcode.com/problems/remove-letter-to-equalize-frequency) | [![Java](assets/java.png)](src/RemoveLetterToEqualizeFrequency.java) | |
773773
| 2427 | [Number of Common Factors](https://leetcode.com/problems/number-of-common-factors) | [![Java](assets/java.png)](src/NumberOfCommonFactors.java) | |
774-
| 2432 | [The Employee That Worked on the Longest Task](https://leetcode.com/problems/the-employee-that-worked-on-the-longest-task) | | |
774+
| 2432 | [The Employee That Worked on the Longest Task](https://leetcode.com/problems/the-employee-that-worked-on-the-longest-task) | [![Java](assets/java.png)](src/TheEmployeeThatWorkedOnTheLongestTask.java) | |
775775
| 2437 | [Number of Valid Clock Times](https://leetcode.com/problems/number-of-valid-clock-times) | | |
776776
| 2441 | [Largest Positive Integer That Exists With Its Negative](https://leetcode.com/problems/largest-positive-integer-that-exists-with-its-negative) | | |
777777
| 2446 | [Determine if Two Events Have Conflict](https://leetcode.com/problems/determine-if-two-events-have-conflict) | | |

Diff for: src/TheEmployeeThatWorkedOnTheLongestTask.java

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// https://leetcode.com/problems/the-employee-that-worked-on-the-longest-task
2+
// T: O(|logs|)
3+
// S: O(1)
4+
5+
public class TheEmployeeThatWorkedOnTheLongestTask {
6+
public int hardestWorker(int n, int[][] logs) {
7+
int longestTime = -1, employeeId = -1, previousTime = 0;
8+
for (int[] log : logs) {
9+
int time = log[1] - previousTime;
10+
previousTime = log[1];
11+
if (time > longestTime) {
12+
longestTime = time;
13+
employeeId = log[0];
14+
} else if (time == longestTime && log[0] < employeeId) {
15+
employeeId = log[0];
16+
}
17+
}
18+
return employeeId;
19+
}
20+
}

0 commit comments

Comments
 (0)