Skip to content

Commit 551ad91

Browse files
committed
Solution 001 and 002 using Ruby
1 parent 924d004 commit 551ad91

File tree

3 files changed

+62
-0
lines changed

3 files changed

+62
-0
lines changed

.gitignore

Whitespace-only changes.

solution/001.Two Sum/Solution.rb

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# @param {Integer[]} nums
2+
# @param {Integer} target
3+
# @return {Integer[]}
4+
def two_sum(nums, target)
5+
nums.each_with_index do |x, idx|
6+
if nums.include? target - x
7+
return [idx, nums.index(target - x)] if nums.index(target - x) != idx
8+
end
9+
next
10+
end
11+
end
+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Definition for singly-linked list.
2+
# class ListNode
3+
# attr_accessor :val, :next
4+
# def initialize(val)
5+
# @val = val
6+
# @next = nil
7+
# end
8+
# end
9+
10+
# @param {ListNode} l1
11+
# @param {ListNode} l2
12+
# @return {ListNode}
13+
def add_two_numbers(l1, l2)
14+
return l2 if l1 == nil
15+
return l1 if l2 == nil
16+
cur_val = l1.val + l2.val
17+
l3 = ListNode.new(cur_val % 10)
18+
add = cur_val >= 10 ? 1 : 0
19+
tmp = l3
20+
21+
l1 = l1.next
22+
l2 = l2.next
23+
while !l1.nil? && !l2.nil?
24+
cur_val = l1.val + l2.val + add
25+
tmp.next = ListNode.new(cur_val % 10)
26+
tmp = tmp.next
27+
add = cur_val >= 10 ? 1 : 0
28+
29+
l1 = l1.next
30+
l2 = l2.next
31+
end
32+
33+
until l1.nil?
34+
cur_val = l1.val + add
35+
tmp.next = ListNode.new(cur_val % 10)
36+
tmp = tmp.next
37+
add = cur_val >= 10 ? 1 : 0
38+
l1 = l1.next
39+
end
40+
41+
until l2.nil?
42+
cur_val = l2.val + add
43+
tmp.next = ListNode.new(cur_val % 10)
44+
tmp = tmp.next
45+
add = l2.val + add >= 10 ? 1 : 0
46+
l2 = l2.next
47+
end
48+
49+
tmp.next = ListNode.new(1) if add == 1
50+
l3
51+
end

0 commit comments

Comments
 (0)