Skip to content

Commit d868bcc

Browse files
authored
Merge pull request #1928 from Natan7/next_greater_element
Next Greater Element
2 parents 74fea03 + 01e41b4 commit d868bcc

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
def get_next_greater (index, array)
2+
next_greater = array[index].to_i
3+
index = index + 1
4+
5+
if index >= array.size
6+
return -1
7+
end
8+
9+
for i in index..(array.size-1)
10+
if next_greater < array[i].to_i
11+
return array[i].to_i
12+
end
13+
end
14+
15+
return -1
16+
end
17+
18+
def next_greaters_element (array)
19+
array_greaters = []
20+
21+
for i in 0..(array.size-1)
22+
next_greater = array[i]
23+
array_greaters.push(get_next_greater(i, array))
24+
end
25+
26+
return array_greaters
27+
end
28+
29+
# Take elements number of array and array elements
30+
print("Enter size of array: ")
31+
number = gets.chomp.to_i
32+
33+
if number <= 1 || number> 10**6
34+
print("Oh, invalid range!\n")
35+
exit
36+
end
37+
38+
array = []
39+
print("Now, enter each element of array:\n")
40+
i = 1
41+
while i<=number do
42+
element = gets.chomp.to_i
43+
if element <= 0 || element > 10**9
44+
print("Oh, invalid range of element!\nTry again!\n")
45+
else
46+
array.push(element)
47+
i=i+1
48+
end
49+
end
50+
51+
print("Array:" + array.to_s + "\n")
52+
print("Next greaters elements array:" + next_greaters_element(array).to_s + "\n")

0 commit comments

Comments
 (0)