Minimum Flips to Make a OR b Equal to c LeetCode solution in Java
1class Solution {2public int minFlips(int a, int b, int c) {3int j = -1;4int x = a | b;5int count = 0;6while (c != 0 || x != 0) {7j++;8int aa = x % 2;9int bb = c % 2;10if (aa == 0 && bb == 1) count++;11else if (aa == 1 && bb == 0) count += funcount(j, a, b);12x = x >> 1;13c = c >> 1;14}1516return count;17}1819public static int funcount(int shift, int a, int b) {20int cc = 0;21int mask = 1 << shift;22int b1 = a & mask;23int b2 = b & mask;24if (b1 != 0) cc++;25if (b2 != 0) cc++;2627return cc;28}29}