找孤立数ii
single-number-ii
http://www.nowcoder.com/questionTerminal/1097ca585245418ea2efd0e8b4d9eb7a
设元素中除了某个孤立数外,其他数都出现过且只出现过N次,解题方法如下:
- 如果N为偶数,那么直接将每个元素异或后的结果即是最终结果
- 如果N为奇数,我们可以依次判断每一位为1还是为0
本题代码如下:
// // Created by jt on 2020/9/6. // class Solution { public: /** * * @param A int整型一维数组 * @param n int A数组长度 * @return int整型 */ int singleNumber(int* A, int n) { // write code here if (n < 1) return -1; int res = 0; for (int i = 0; i < 32; ++i) { // 判断每一位是1还是0 int bit = 0; for (int j = 0; j < n; ++j) { bit += (A[j] >> i) & 1; } res += (bit % 3) << i; } return res; } };
刷遍天下无敌手 文章被收录于专栏
秋招刷题历程