寻找二进制1的个数相等的最大和最小值

程序员面试金典习题集锦02_最小值

最笨的方法,就是暴力求解,全排列直接做
可以通过分析二进制字符串来实现寻找

程序员面试金典习题集锦02_最小值_02


直接异或,然后求解1的数量即可

程序员面试金典习题集锦02_全排列_03


程序员面试金典习题集锦02_全排列_04


程序员面试金典习题集锦02_最小值_05


我想到的最笨的方法就是直接相加,然后数组求和即可。

感觉应该是可以通过位运算来做的,下面是智力题:

程序员面试金典习题集锦02_字符串_06


程序员面试金典习题集锦02_最小值_07

程序员面试金典习题集锦02_字符串_08


程序员面试金典习题集锦02_最小值_09

程序员面试金典习题集锦02_字符串_10

程序员面试金典习题集锦02_字符串_11


程序员面试金典习题集锦02_字符串_12

程序员面试金典习题集锦02_最小值_13

程序员面试金典习题集锦02_最小值_14