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