Skip to content

Commit 01dbd91

Browse files
committed
✨ [334] O(1) solution in space
1 parent 1548e1a commit 01dbd91

File tree

1 file changed

+25
-9
lines changed

1 file changed

+25
-9
lines changed

334/solution.js

+25-9
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,34 @@
33
* @return {boolean}
44
*/
55
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;
147

158
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+
}
1716
}
1817

1918
return false;
2019
};
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+
// };

0 commit comments

Comments
 (0)