Skip to content

Commit fe9b389

Browse files
committed
add
1 parent a4e34d0 commit fe9b389

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

C++/valid-triangle-number.cpp

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// Time: O(n^2)
2+
// Space: O(1)
3+
4+
class Solution {
5+
public:
6+
int triangleNumber(vector<int>& nums) {
7+
int result = 0;
8+
sort(nums.begin(), nums.end());
9+
for (int i = 0; i + 2 < nums.size(); ++i) {
10+
if (nums[i] == 0) {
11+
continue;
12+
}
13+
auto k = i + 2;
14+
for (int j = i + 1; j + 1 < nums.size(); ++j) {
15+
while (k < nums.size() && nums[i] + nums[j] > nums[k]) {
16+
++k;
17+
}
18+
result += k - j - 1;
19+
}
20+
}
21+
return result;
22+
}
23+
};
24+

0 commit comments

Comments
 (0)