Loading

找出数组中重复的数和二维数组中的查找

一.找出数组中重复的数

在长度为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++
posted @ 2020-09-14 20:09  文牧之  阅读(16)  评论(0)    收藏  举报  来源