Skip to content

Commit 183cbaa

Browse files
authored
Merge pull request #728 from fartem/167_Two_Sum_II-Input_Array_Is_Sorted
2024-09-03 v. 6.6.1: added "167. Two Sum II - Input Array Is Sorted"
2 parents 3b5e232 + d55e461 commit 183cbaa

File tree

4 files changed

+72
-1
lines changed

4 files changed

+72
-1
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -526,3 +526,4 @@ Profile on LeetCode: [fartem](https://leetcode.com/fartem/).
526526
| 151. Reverse Words in a String | [Link](https://leetcode.com/problems/reverse-words-in-a-string/) | [Link](./lib/medium/151_reverse_words_in_a_string.rb) | [Link](./test/medium/test_151_reverse_words_in_a_string.rb) |
527527
| 155. Min Stack | [Link](https://leetcode.com/problems/min-stack/) | [Link](./lib/medium/155_min_stack.rb) | [Link](./test/medium/test_155_min_stack.rb) |
528528
| 165. Compare Version Numbers | [Link](https://leetcode.com/problems/compare-version-numbers/) | [Link](./lib/medium/165_compare_version_numbers.rb) | [Link](./test/medium/test_165_compare_version_numbers.rb) |
529+
| 167. Two Sum II - Input Array Is Sorted | [Link](https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/) | [Link](./lib/medium/167_two_sum_ii_input_array_is_sorted.rb) | [Link](./test/medium/test_167_two_sum_ii_input_array_is_sorted.rb) |

leetcode-ruby.gemspec

Lines changed: 1 addition & 1 deletion
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 = '6.6.0'
8+
s.version = '6.6.1'
99
s.license = 'MIT'
1010
s.files = ::Dir['lib/**/*.rb'] + %w[README.md]
1111
s.executable = 'leetcode-ruby'
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# frozen_string_literal: true
2+
3+
# https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/
4+
# @param {Integer[]} numbers
5+
# @param {Integer} target
6+
# @return {Integer[]}
7+
def two_sum167(numbers, target)
8+
start = 0
9+
nd = numbers.size - 1
10+
until start == nd
11+
sum = numbers[start] + numbers[nd]
12+
13+
if sum > target
14+
nd -= 1
15+
elsif sum < target
16+
start += 1
17+
else
18+
break
19+
end
20+
end
21+
22+
[start + 1, nd + 1]
23+
end
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# frozen_string_literal: true
2+
3+
require_relative '../test_helper'
4+
require_relative '../../lib/medium/167_two_sum_ii_input_array_is_sorted'
5+
require 'minitest/autorun'
6+
7+
class TwoSumIIInputArrayIsSortedTest < ::Minitest::Test
8+
def test_default_one
9+
assert_equal(
10+
[1, 2],
11+
two_sum167(
12+
[2, 7, 11, 15],
13+
9
14+
)
15+
)
16+
end
17+
18+
def test_default_two
19+
assert_equal(
20+
[1, 3],
21+
two_sum167(
22+
[2, 3, 4],
23+
6
24+
)
25+
)
26+
end
27+
28+
def test_default_three
29+
assert_equal(
30+
[1, 2],
31+
two_sum167(
32+
[-1, 0],
33+
-1
34+
)
35+
)
36+
end
37+
38+
def test_additional_one
39+
assert_equal(
40+
[2, 3],
41+
two_sum167(
42+
[5, 25, 75],
43+
100
44+
)
45+
)
46+
end
47+
end

0 commit comments

Comments
 (0)