Day22:位运算
目录
剑指 Offer 56 - I. 数组中数字出现的次数题目分析
剑指 Offer 56 - II. 数组中数字出现的次数 II
剑指 Offer 56 - I. 数组中数字出现的次数
题目分析
学习了异或的性质。1.恒等律:X ⊕ 0 = X 2.归零律:X ⊕ X = 0 3.交换律A ⊕ B =B ⊕ A 4.结合律分配律也都满足。回到题目上,简化问题,如果只有一个只出现过一次的数字,那么我们完全可以通过异或的性质来解决题目,初始化x=0,x去异或数组里面的每个数,出现过两次的数字会变成0,而且这跟数字的顺序没有关系,因为交换律在此做了支撑。所以最后x会直接 = 那个只出现过一次的数字。可惜题目中说有两个只出现过一次的数,那么情况就需要再分析分析。首先我们第一次异或整个数组,因为出现过两次的数字全部会变成0,剩下的就是我们值出现过一次的两个数字异或的结果 Z = X ⊕ Y,
Day22:位运算最先出现在Python成神之路。
共有 0 条评论