找出数组中重复的数和二维数组中的查找
一.找出数组中重复的数
在长度为n的数组nums里面的所有数字都在0~n-1的范围内,数组中某些数字是重复的,但不知道是哪几个,也不知道重复了几次,请找出数组中任意重复的数字
解法:
1.暴力解法:循环遍历逐个比较,我们可以利用两次循环找出一对相等的数返回
//双层循环遍历
for(int j=0;i<n-1;j++){
for(int i=j+1;i<n;i++)
{
if(nums[j]==nums[i])
return nums[j];
}
}
这种方法的好处在于不必改变数组结构,坏处在于时间复杂度高。
2.排序相邻判断法:我们可以先对数组进行排序,然后判断第一对相邻且相等的数即可
Arrays.sort(nums);//排序
//循环判断
for(int j=0;j<n-1;j++

浙公网安备 33010602011771号