Skip to content

Commit 08f7654

Browse files
committed
Merge sorted array problem.
1 parent 5eb49ed commit 08f7654

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

Problems/merge_sorted_array.rb

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
ar1 = [1, 5, 9, 10, 15, 20]
2+
ar2 = [2, 3, 8, 13]
3+
p ar1, ar2
4+
m = ar1.size
5+
n = ar2.size
6+
p m, n
7+
p "Started"
8+
9+
def merge(ar1, ar2, m, n)
10+
(ar2.size-1).downto(0).each do |i|
11+
last = ar1[m-1]
12+
j = m-2
13+
p last, i, j
14+
while(j >= 0 && ar1[j] > ar2[i])
15+
ar1[j+1] = ar1[j]
16+
j -= 1
17+
p ar1, ar2
18+
end
19+
p i, j
20+
if(j != m-2 || last > ar2[i])
21+
ar1[j+1] = ar2[i]
22+
ar2[i] = last
23+
end
24+
p ar1, ar2
25+
end
26+
end
27+
28+
merge(ar1, ar2, m, n)
29+
p ar1
30+
p ar2

0 commit comments

Comments
 (0)