package arrays;/*** 数组查询重复元素* 题目:* 在一个长度为 n 的数组里的所有数字都在 0 到 n-1 的范围内。数组中某些数字是重复的,* 但不知道有几个数字是重复的,也不知道每个数字重复几次。请找出数组中任意一个重复的数字。** 要求时间复杂度为O(N),空间复杂度为O(1)** @Author Gavin* @date 2022年08月06日 14:38*/public class array_20 {public int solution(int[] nums){if(nums==null||nums.length<=0)return -1;for (int i = 0; i < nums.length; i++) {//如果数组的值和数组值下标对应的数组的值相等了说明就有重复的元素了while (nums[i]!=i){if(nums[nums[i]]== nums[i])return nums[i];int temp=nums[nums[i]];nums[nums[i]]=nums[i];nums[i]=temp;}}return -1;}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。