File tree 1 file changed +9
-10
lines changed
1 file changed +9
-10
lines changed Original file line number Diff line number Diff line change @@ -14,10 +14,11 @@ def next_greatest_element_slow(arr: list[float]) -> list[float]:
14
14
"""
15
15
16
16
result = []
17
+ arr_size = len (arr )
17
18
18
- for i in range (0 , len ( arr ), 1 ):
19
+ for i in range (arr_size ):
19
20
next : float = - 1
20
- for j in range (i + 1 , len ( arr ), 1 ):
21
+ for j in range (i + 1 , arr_size ):
21
22
if arr [i ] < arr [j ]:
22
23
next = arr [j ]
23
24
break
@@ -57,21 +58,19 @@ def next_greatest_element(arr: list[float]) -> list[float]:
57
58
>>> next_greatest_element(arr) == expect
58
59
True
59
60
"""
61
+ arr_size = len (arr )
60
62
stack : list [float ] = []
61
- result : list [float ] = [- 1 ] * len ( arr )
63
+ result : list [float ] = [- 1 ] * arr_size
62
64
63
- for index in reversed (range (len ( arr ) )):
64
- if len ( stack ) :
65
+ for index in reversed (range (arr_size )):
66
+ if stack :
65
67
while stack [- 1 ] <= arr [index ]:
66
68
stack .pop ()
67
- if len ( stack ) == 0 :
69
+ if not stack :
68
70
break
69
-
70
- if len (stack ) != 0 :
71
+ if stack :
71
72
result [index ] = stack [- 1 ]
72
-
73
73
stack .append (arr [index ])
74
-
75
74
return result
76
75
77
76
You can’t perform that action at this time.
0 commit comments