cs: add “1318. Minimum Flips to Make a OR b Equal to c”

Signed-off-by: Matej Focko <mfocko@redhat.com>
This commit is contained in:
Matej Focko 2024-01-07 00:06:02 +01:00
parent d06468acfe
commit 87b1174f4c
Signed by: mfocko
GPG key ID: 7C47D46246790496

View file

@ -0,0 +1,21 @@
public class Solution {
public int MinFlips(int a, int b, int c) {
var flips = 0;
for (; (a | b) != c; a >>= 1, b >>= 1, c >>= 1) {
var (aa, bb, cc) = (a & 1, b & 1, c & 1);
if ((aa | bb) == cc) {
continue;
}
if (aa != 0 && bb != 0) {
flips += 2;
} else {
++flips;
}
}
return flips;
}
}