This commit is contained in:
kkunkka
2025-06-23 14:49:31 +08:00
parent 13e1421656
commit 7ee89c530f
8 changed files with 129 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
package com.dota.bit._2154;
class Solution {
public int findFinalValue(int[] nums, int original) {
var dp = new int[1001];
for (int num : nums) {
dp[num]++;
}
while(dp[original] > 0) {
original <<=1;
}
return original;
}
}

View File

@@ -0,0 +1,7 @@
package com.dota.bit._2220;
class Solution {
public int minBitFlips(int start, int goal) {
return Integer.bitCount(start ^ goal);
}
}

View File

@@ -0,0 +1,8 @@
package com.dota.bit._2595;
class Solution {
public int[] evenOddBit(int n) {
int a = 0x555555;
return new int[]{Integer.bitCount(n&a), Integer.bitCount(n&(~a))};
}
}

View File

@@ -0,0 +1,29 @@
package com.dota.bit._2657;
class Solution {
public int[] findThePrefixCommonArray(int[] A, int[] B) {
var dp = new int[51];
var res = new int[A.length];
int cnt = 0;
for (int i = 0; i < A.length; i++) {
if (A[i] == B[i]) {
cnt++;
} else {
if (dp[A[i]] != 0) {
cnt++;
} else {
dp[A[i]]++;
}
if (dp[B[i]] != 0) {
cnt++;
} else {
dp[B[i]]++;
}
}
res[i] = cnt;
}
return res;
}
}

View File

@@ -0,0 +1,17 @@
package com.dota.bit._2917;
class Solution {
public int findKOr(int[] nums, int k) {
int res = 0;
for (int i = 0; i < 31; i++) {
int count = 0;
for (int num : nums) {
count += (num >> i) & 1;
}
if (count >= k) {
res |= (1<<i);
}
}
return res;
}
}

View File

@@ -0,0 +1,31 @@
package com.dota.bit._3211;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
class Solution {
public List<String> validStrings(int n) {
var res = new HashSet<String>();
StringBuilder sb = new StringBuilder();
sb.append("1".repeat(n));
df(sb, res, 0, "0");
df(sb, res, 0, "1");
return new ArrayList<>(res);
}
void df(StringBuilder sb, Set<String> list, int idx, String s) {
if (idx >= sb.length()) return;
char c = sb.charAt(idx);
sb.replace(idx, idx + 1, s);
list.add(sb.toString());
if (s.equals("0")) {
df(sb, list, idx + 1, "1");
} else {
df(sb, list, idx + 1, "0");
df(sb, list, idx + 1, "1");
}
sb.setCharAt(idx, c);
}
}

View File

@@ -0,0 +1,9 @@
package com.dota.bit._3226;
class Solution {
public int minChanges(int n, int k) {
if (n != (n | k)) return -1;
return Integer.bitCount(n ^ k);
}
}

View File

@@ -0,0 +1,12 @@
package com.dota.bit._3370;
class Solution {
public int smallestNumber(int n) {
int res = 1;
while (n > res) {
res <<=1;
res += 1;
}
return res;
}
}