Skip to content

Commit bbeafa1

Browse files
authored
Create sum-of-beauty-in-the-array.cpp
1 parent 02a8298 commit bbeafa1

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

C++/sum-of-beauty-in-the-array.cpp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// Time: O(n)
2+
// Space: O(n)
3+
4+
class Solution {
5+
public:
6+
int sumOfBeauties(vector<int>& nums) {
7+
vector<int> right(size(nums), nums.back());
8+
for (int i = size(nums) - 2; i >= 2; --i) {
9+
right[i] = min(right[i + 1], nums[i]);
10+
}
11+
int result = 0, left = nums.front();
12+
for (int i = 1; i <= size(nums) - 2; ++i) {
13+
if (left < nums[i] && nums[i] < right[i + 1]) {
14+
result += 2;
15+
} else if (nums[i - 1] < nums[i] && nums[i] < nums[i + 1]) {
16+
++result;
17+
}
18+
left = max(left, nums[i]);
19+
}
20+
return result;
21+
}
22+
};

0 commit comments

Comments
 (0)