@@ -119,98 +119,6 @@ public:
119119};
120120```
121121
122- #### Go
123-
124- ```go
125- func dailyTemperatures(temperatures []int) []int {
126- n := len(temperatures)
127- ans := make([]int, n)
128- stk := []int{}
129- for i := n - 1; i >= 0; i-- {
130- for len(stk) > 0 && temperatures[stk[len(stk)-1]] <= temperatures[i] {
131- stk = stk[:len(stk)-1]
132- }
133- if len(stk) > 0 {
134- ans[i] = stk[len(stk)-1] - i
135- }
136- stk = append(stk, i)
137- }
138- return ans
139- }
140- ```
141-
142- #### TypeScript
143-
144- ``` ts
145- function dailyTemperatures(temperatures : number []): number [] {
146- const n = temperatures .length ;
147- const ans: number [] = Array (n ).fill (0 );
148- const stk: number [] = [];
149- for (let i = n - 1 ; ~ i ; -- i ) {
150- while (stk .length && temperatures [stk .at (- 1 )! ] <= temperatures [i ]) {
151- stk .pop ();
152- }
153- if (stk .length ) {
154- ans [i ] = stk .at (- 1 )! - i ;
155- }
156- stk .push (i );
157- }
158- return ans ;
159- }
160- ```
161-
162- #### Rust
163-
164- ``` rust
165- impl Solution {
166- pub fn daily_temperatures (temperatures : Vec <i32 >) -> Vec <i32 > {
167- let n = temperatures . len ();
168- let mut stk : Vec <usize > = Vec :: new ();
169- let mut ans = vec! [0 ; n ];
170-
171- for i in (0 .. n ). rev () {
172- while let Some (& top ) = stk . last () {
173- if temperatures [top ] <= temperatures [i ] {
174- stk . pop ();
175- } else {
176- break ;
177- }
178- }
179- if let Some (& top ) = stk . last () {
180- ans [i ] = (top - i ) as i32 ;
181- }
182- stk . push (i );
183- }
184-
185- ans
186- }
187- }
188- ```
189-
190- #### JavaScript
191-
192- ``` js
193- /**
194- * @param {number[]} temperatures
195- * @return {number[]}
196- */
197- var dailyTemperatures = function (temperatures ) {
198- const n = temperatures .length ;
199- const ans = Array (n).fill (0 );
200- const stk = [];
201- for (let i = n - 1 ; ~ i; -- i) {
202- while (stk .length && temperatures[stk .at (- 1 )] <= temperatures[i]) {
203- stk .pop ();
204- }
205- if (stk .length ) {
206- ans[i] = stk .at (- 1 ) - i;
207- }
208- stk .push (i);
209- }
210- return ans;
211- };
212- ```
213-
214122<!-- tabs:end -->
215123
216124<!-- solution:end -->
0 commit comments