1.题目描述
2.知识点
(1)比如数组里面有n个数,然后计算这n个数的总和(用等差求和数列计算),然后减去数组的和,用总和减去数组和即为所得
(2)加强型 for 循环(也称为 for-each 循环)用于迭代数组或集合中的元素,语法格式如下:
for (元素类型 元素变量 : 遍历对象) {
// 执行代码块
}
在这个语法中,元素类型 是指被遍历对象中元素的类型,元素变量 是在每次循环迭代中代表当前元素的变量名,遍历对象 是要迭代的数组或集合。
所以,在 Java 中,加强型 for 循环中的 元素变量 是直接表示数组或集合中的元素值,而不是它们的索引。
3.代码实现
方法1:
class Solution {
public int missingNumber(int[] nums) {
int n=nums.length;
int TotalSum=0;
int ArraySum=0;
TotalSum=n*(n+1)/2;
for(int i=0;i<nums.length;i++)
{
// ArraySum=ArraySum+i; 这句写错了,是添加索引对应的值,也就是数组的值
ArraySum=ArraySum+nums[i];
}
return TotalSum-ArraySum;
}
}
方法2:
class Solution {
public int missingNumber(int[] nums) {
int n=nums.length;
int TotalSum=0;
int ArraySum=0;
TotalSum=n*(n+1)/2;
// for(int i=0;i<nums.length;i++)
// {
// ArraySum=ArraySum+i; 这句写错了,是添加索引对应的值,也就是数组的值
// ArraySum=ArraySum+nums[i];
// }
for(int num:nums)
{
ArraySum=ArraySum+num;
}
return TotalSum-ArraySum;
}
}