This commit is contained in:
kkunkka
2025-03-24 11:16:25 +08:00
parent d8fc5d4674
commit ae4889d8df
2 changed files with 58 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
package com.dota.slidingWindow._2134;
class Solution {
public int minSwaps(int[] nums) {
int k = 0;
for (int num : nums) {
if (num == 1) k++;
}
if (k == 0 || k == nums.length) return 0;
int n = nums.length;
int cnt = 0;
for (int i = 0; i < k; i++) {
cnt += nums[i];
}
int min = cnt;
int l = 0;
for (int i = k; i < n + k - 1; i++) {
int idx = i;
if (i >= n) {
idx = i - n;
}
if (nums[idx] == 0) {
cnt++;
}
if (nums[l++] == 0) {
cnt--;
}
min = Math.min(min, cnt);
}
return min;
}
}

View File

@@ -0,0 +1,24 @@
package com.dota.stack;
class Solution {
public boolean canBeValid(String s, String locked) {
if (s.length() % 2 == 1) {
return false;
}
int min = 0, max = 0;
for (int i = 0; i < s.length(); i++) {
if (locked.charAt(i) == '1') { //不能改
int d = s.charAt(i) == '(' ? 1 : -1;
min += d;
max += d;
if (max<0) return false;
} else { //可以改
max++;
min--;
}
if (min<0) min=1;
}
return min == 0;
}
}