精華區beta Marginalman 關於我們 聯絡資訊
2429. Minimize XOR ## 思路 先計算num2的bits數 位數從高往低 把num1的1消掉 如果bit還有剩就從低到高遇到0塞1 ## Code ```cpp class Solution { public: int minimizeXor(int num1, int num2) { int bitCount = __builtin_popcount(num2); int res = 0; for (int i=31; i>=0 && bitCount >= 1; --i) { if (num1 & (1 << i)) { res |= (1 << i); --bitCount; } } for (int i=0; i<32 && bitCount >= 1; ++i) { if ((res & (1 << i)) == 0) { res ^= (1 << i); --bitCount; } } return res; } }; ``` -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 86.48.12.215 (日本) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1736942007.A.981.html
sustainer123: 大師 01/15 19:57