Skip to content

Commit 3c05d25

Browse files
committed
Time: 58 ms (56.06%), Space: 14.9 MB (67.26%) - LeetHub
1 parent 03416df commit 3c05d25

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
class Solution {
2+
public:
3+
int minimumMountainRemovals(vector<int>& v) {
4+
int n = v.size();
5+
vector<int> lis(n, 1), lds(n, 1);
6+
for (int i = 0; i < n; i++) {
7+
int mx = 0;
8+
for (int j = i - 1; j >= 0; j--) {
9+
if (v[j] < v[i]) {
10+
mx = max(mx, lis[j]);
11+
}
12+
}
13+
lis[i] += mx;
14+
}
15+
for (int i = n - 1; i >= 0; i--) {
16+
int mx = 0;
17+
for (int j = i + 1; j < n; j++) {
18+
if (v[i] > v[j]) {
19+
mx = max(mx, lds[j]);
20+
}
21+
}
22+
lds[i] += mx;
23+
}
24+
int ans = n;
25+
for (int i = 0; i < n; i++) {
26+
if (lis[i] == 1 || lds[i] == 1) continue;
27+
ans = min(ans, n - lis[i] - lds[i] + 1);
28+
}
29+
return ans;
30+
}
31+
};

0 commit comments

Comments
 (0)