题目

类型:位运算
image.png

解题思路

可以用位运算
image.png

但是我选择用数学

思路:将从 0 到 n 的全部整数之和记为 total,根据高斯求和公式算出和
将数组的元素之和记为 arrSum,则 arrSum 比 total 少了丢失的一个数字,因此丢失的数字即为 total 与 arrSum 之差。

代码

  1. class Solution {
  2. public int missingNumber(int[] nums) {
  3. int n = nums.length;
  4. int total = n * (n + 1) / 2;
  5. int arrSum = 0;
  6. for (int i = 0; i < n; i++) {
  7. arrSum += nums[i];
  8. }
  9. return total - arrSum;
  10. }
  11. }