08-问题求解分解.pptVIP

  • 98
  • 0
  • 约1.45万字
  • 约 54页
  • 2016-08-26 发布于湖北
  • 举报
数组中只出现一次的数字 void FindNumsAppearOnce(int data[], int length, int* num1, int* num2) { if (data == NULL || length 2) return; int resultExclusiveOR = 0; for (int i = 0; i length; ++ i) resultExclusiveOR ^= data[i]; unsigned int indexOf1 = FindFirstBitIs1(resultExclusiveOR); *num1 = *num2 = 0; for (int j = 0; j length; ++ j) { if(IsBit1(data[j], indexOf1)) *num1 ^= data[j]; else *num2 ^= data[j]; } } 数组中只出现一次的数字 // 找到num从右边数起第一个是1的位 unsigned int FindFirstBitIs1(int num) { int indexBit = 0

文档评论(0)

1亿VIP精品文档

相关文档