kk
This commit is contained in:
34
src/main/java/com/dota/slidingWindow/_2134/Solution.java
Normal file
34
src/main/java/com/dota/slidingWindow/_2134/Solution.java
Normal 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;
|
||||
}
|
||||
}
|
24
src/main/java/com/dota/stack/Solution.java
Normal file
24
src/main/java/com/dota/stack/Solution.java
Normal 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;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user