Minimum Flips to Make a OR b Equal to c LeetCode solution in C++
1class Solution {2public:3int minFlips(int a, int b, int c) {4int changeBits = 0;56for (int i = 0; i < 32; i++) {7int lastBitA = 0;8int lastBitB = 0;9int lastBitC = 0;10if (((a >> i) & 1) == 1) {11lastBitA = 1;12}13if (((b >> i) & 1) == 1) {14lastBitB = 1;15}16if (((c >> i) & 1) == 1) {17lastBitC = 1;18}19if (lastBitC == 1) {20if (lastBitA == 0 & lastBitB == 0) {21changeBits++;22}23} else {24if (lastBitA == 1 || lastBitB == 1) {25if (lastBitA == 1) {26changeBits++;27}28if (lastBitB == 1) {29changeBits++;30}31}32}33}34return changeBits;35}36};