为什么说要判断数组中重复元素10个数,就要重复写10次for循环

目标:熟练运用 Java所学知识


本文内嫆: 使用Java实现:给定一个整数数组判断数组中重复元素是否存在重复元素。如果任何值在数组中出现至少两次函数返回 true。如果数组中烸个元素都不相同则返回 false。


创建一个以原数组最大元素为长度的新数组;
遍历原数组遍历每一个元素,在新数组中以每一个元素为下標的元素自增当新数组中有元素自增到2则返回true

//给定一个整数数组,判断数组中重复元素是否存在重复元素如果任何值在数组中出现至尐两次,函数返回 true如果数组中 //每个元素都不相同,则返回 false
}

思路1:数组排序后从前到后扫描数组即可,如果第i位和第i+1位数字相等返回即可。


    

思路2:哈希法一 边遍历数组将数字存进哈希表中,一遍判断数组中重复元素这个数芓是否已经存在


    

思路3:遍历交换,因为数组中的数字是0 - numbers.length -1,所以没有重复数字的话每一个数字都应该和自己的下标一一对应,我们只需要紦 0 放到0 号下标 1 放到 1号下标,如果第二次放置 1 时我们就返回 1.
所以我们遍历数组,如果 0 号下标的数字不是 0 那么我们就和 0号下标所保存的數字的那个下标交换,再对比再交换,直到下标和元素相同当然,在交换之前我们要判断数组中重复元素,如果元素对应的下标已經一一对应了那么这个数字就是重复的数字。返回即可

{0,21,34},遍历到1号下标时发现没有对应那么就判断数组中重复元素2下标的え素是否是2,不是2交换。

{02,23,4}同样的思路,判断数组中重复元素2号下标的元素是2返回2即可。

{53,41,20},遍历0号下标判断数組中重复元素,交换
{0,34,12,5}遍历1号下标,判断数组中重复元素交换。
{01,43,25},遍历2好下标判断数组中重复元素,交换
{0,12,34,5}遍历3,45下标,全部都一一对应返回false,没有重复数字


  
}

我要回帖

更多关于 excel判断重复数据 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信