Skip to content

Commit 802373b

Browse files
authored
Merge pull request #629 from fartem/2432_The_Employee_That_Worked_on_the_Longest_Task
2024-05-22 v. 5.7.2: added "2432. The Employee That Worked on the Longest Task"
2 parents 50ba0ed + 557f304 commit 802373b

4 files changed

+34
-1
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -432,3 +432,4 @@ Profile on LeetCode: [fartem](https://leetcode.com/fartem/).
432432
| 2418. Sort the People | [Link](https://leetcode.com/problems/sort-the-people/) | [Link](./lib/easy/2418_sort_the_people.rb) |
433433
| 2423. Remove Letter To Equalize Frequency | [Link](https://leetcode.com/problems/remove-letter-to-equalize-frequency/) | [Link](./lib/easy/2423_remove_letter_to_equalize_frequency.rb) |
434434
| 2427. Number of Common Factors | [Link](https://leetcode.com/problems/number-of-common-factors/) | [Link](./lib/easy/2427_number_of_common_factors.rb) |
435+
| 2432. The Employee That Worked on the Longest Task | [Link](https://leetcode.com/problems/the-employee-that-worked-on-the-longest-task/) | [Link](./lib/easy/2432_the_employee_that_worked_on_the_longest_task.rb) |

leetcode-ruby.gemspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ require 'English'
55
::Gem::Specification.new do |s|
66
s.required_ruby_version = '>= 3.0'
77
s.name = 'leetcode-ruby'
8-
s.version = '5.7.1'
8+
s.version = '5.7.2'
99
s.license = 'MIT'
1010
s.files = ::Dir['lib/**/*.rb'] + %w[bin/leetcode-ruby README.md LICENSE]
1111
s.executable = 'leetcode-ruby'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# frozen_string_literal: true
2+
3+
# https://leetcode.com/problems/the-employee-that-worked-on-the-longest-task/
4+
# @param {Integer} _
5+
# @param {Integer[][]} logs
6+
# @return {Integer}
7+
def hardest_worker(_, logs)
8+
max = logs[0][1]
9+
result = logs[0][0]
10+
(1...logs.length).each do |i|
11+
time = logs[i][1] - logs[i - 1][1]
12+
13+
next unless time > max || (time == max && result > logs[i][0])
14+
15+
max = time
16+
result = logs[i][0]
17+
end
18+
19+
result
20+
end
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# frozen_string_literal: true
2+
3+
require_relative '../test_helper'
4+
require_relative '../../lib/easy/2432_the_employee_that_worked_on_the_longest_task'
5+
require 'minitest/autorun'
6+
7+
class TheEmployeeThatWorkedOnTheLongestTaskTest < ::Minitest::Test
8+
def test_default
9+
assert_equal(1, hardest_worker(10, [[0, 3], [2, 5], [0, 9], [1, 15]]))
10+
assert_equal(3, hardest_worker(26, [[1, 1], [3, 7], [2, 12], [7, 17]]))
11+
end
12+
end

0 commit comments

Comments
 (0)