File tree 1 file changed +25
-9
lines changed
1 file changed +25
-9
lines changed Original file line number Diff line number Diff line change 3
3
* @return {boolean }
4
4
*/
5
5
var increasingTriplet = function ( nums ) {
6
- let minToRight = [ ] , maxToLeft = [ ] ;
7
- for ( let i = 0 ; i < nums . length ; i ++ ) {
8
- minToRight [ i ] = Math . min ( ( minToRight [ i - 1 ] ?? Infinity ) , nums [ i ] )
9
- }
10
-
11
- for ( let i = nums . length - 1 ; i >= 0 ; i -- ) {
12
- maxToLeft [ i ] = Math . max ( ( maxToLeft [ i + 1 ] ?? - Infinity ) , nums [ i ] )
13
- }
6
+ let first = Infinity , second = Infinity ;
14
7
15
8
for ( let i = 0 ; i < nums . length ; i ++ ) {
16
- if ( minToRight [ i ] < nums [ i ] && nums [ i ] < maxToLeft [ i ] ) return true ;
9
+ if ( nums [ i ] <= first ) {
10
+ first = nums [ i ] ;
11
+ } else if ( nums [ i ] <= second ) {
12
+ second = nums [ i ] ;
13
+ } else {
14
+ return true ;
15
+ }
17
16
}
18
17
19
18
return false ;
20
19
} ;
20
+
21
+ // var increasingTriplet = function (nums) {
22
+ // let minToRight = [], maxToLeft = [];
23
+ // for (let i = 0; i < nums.length; i++) {
24
+ // minToRight[i] = Math.min((minToRight[i - 1] ?? Infinity), nums[i])
25
+ // }
26
+ //
27
+ // for (let i = nums.length - 1; i >= 0; i--) {
28
+ // maxToLeft[i] = Math.max((maxToLeft[i + 1] ?? -Infinity), nums[i])
29
+ // }
30
+ //
31
+ // for (let i = 0; i < nums.length; i++) {
32
+ // if (minToRight[i] < nums[i] && nums[i] < maxToLeft[i]) return true;
33
+ // }
34
+ //
35
+ // return false;
36
+ // };
You can’t perform that action at this time.
0 commit comments