1
0
Fork 0
mirror of https://gitlab.com/mfocko/LeetCode.git synced 2024-09-20 01:56:57 +02:00
LeetCode/cs/minimum-flips-to-make-a-or-b-equal-to-c.cs
2024-01-07 00:06:02 +01:00

21 lines
451 B
C#

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;
}
}