数组长度为len,数组元素的范围是0到len-1,找出数组的重复元素
    public static int findDuplicate(int[] nums) {
        int len = nums.length;
        //注意这里的for循环写法,在交换元素后,i没有增加,还要继续进行判断
        for (int i = ; i < len;) {
            if (nums[i] != i) {
                //不相等
                int temp = nums[i];
                if (temp == nums[temp]) {
                    //相等就返回
                    return temp;
                }
                nums[i] = nums[temp];
                nums[temp] = temp; //这里将temp放到对应的位置上
            } else {
                i++;
            }
        }
        return -;
    }
    public static void main(String[] args) {
        int[] nums = { , , , ,  ,  , };
        System.out.println(findDuplicate(nums));
    }
数组长度为len,数组元素的范围是0到len-1,找出数组的重复元素的更多相关文章
- 【剑指offer】找出数组中任意一个重复的数字,C++实现
		
原创博文,转载请注明出处! # 题目 # 思路 对于长度为n的数组,范围为0~n-1的数字而言,如果不粗在重复数字,则排序后数组元素和数组角标相同.如果存在重复数字,则在排序的过程中会出现不同下标对应 ...
 - 剑指Offer:找出数组中出现次数超过一半的元素
		
题目:找出数组中出现次数超过一半的元素 解法:每次删除数组中两个不同的元素,删除后,要查找的那个元素的个数仍然超过删除后的元素总数的一半 #include <stdio.h> int ha ...
 - 找出数组中出现奇数次的元素<异或的应用>
		
点击打开链接:百度面试题之找出数组中之出现一次的两个数(异或的巧妙应用) 题目描述|:给定一个包含n个整数的数组a,其中只有一个整数出现奇数次,其他整数都出现偶数次,请找出这个整数 使用异或操作,因为 ...
 - 9.11排序与查找(三)——给定一个排序后的数组,包括n个整数,但这个数组已被旋转过多次,找出数组中的某个元素
		
/** * 功能:给定一个排序后的数组.包括n个整数.但这个数组已被旋转过多次,次数不详.找出数组中的某个元素. * 能够假定数组元素原先是按从小到大的顺序排列的. */ /** * 思路:数组 ...
 - C#比较二个数组并找出相同或不同元素的方法
		
这篇文章主要介绍了C#比较二个数组并找出相同或不同元素的方法,涉及C#针对数组的交集.补集等集合操作相关技巧,非常简单实用, 具有一定参考借鉴价值,需要的朋友可以参考下 " }; " ...
 - 剑指offer:1.找出数组中重复的数(java版)
		
数组中重复的数:题目:找出数组中重复的数,题目描述:在一个长度为n的数组里的所有数字都在0到n-1的范围内.数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任 ...
 - 剑指offer.找出数组中重复的数字
		
题目: 给定一个长度为 n 的整数数组 nums,数组中所有的数字都在 0∼n−1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重复的数 ...
 - 【Offer】[3-1] 【找出数组中重复的数字】
		
题目描述 思路 Java代码 代码链接 题目描述 在一个长度为n的数组里的所有数字都在0~n-1的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次. 请找出数组中任 ...
 - 一起来刷《剑指Offer》-- 题目一:找出数组中重复的数字(Python多种方法实现)
		
数组中重复的数字 最近在复习算法和数据结构(基于Python实现),然后看了Python的各种"序列"--比如列表List.元组Tuple和字符串String,后期会写一篇博客介绍 ...
 - [LeetCode] Find All Numbers Disappeared in an Array 找出数组中所有消失的数字
		
Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and ot ...
 
随机推荐
- JSTL_XML标记库
			
JSTL_XML 一:说明 如有转载请标明出处 必须包含的属性->有默认值的属性->其余属性,中间用回车隔开 二:XML标记库 Xml标记库主要功能就是为在jsp页面中操作xml提供便利支 ...
 - C#弹出窗体、C#导出Excel、C#数据展示框、C#弹出框
			
1.new 一个窗体,然后设置窗体属性. 2.添加数据展示控件,显示数据. 3.添加按钮控件,调用导出Excel代码,实现导出Excel功能. using System; using System.C ...
 - CSS3效果:波浪效果
			
实现效果 如图所示: 首先得准备三张图,一张是浅黄色的背景图loading_bg.png,一张是深红色的图loading.png,最后一张为bolang.png. css代码 body{backgro ...
 - 洛谷P4063 [JXOI2017]数列(dp)
			
题意 题目链接 Sol 这题想还是不难想的,就是写起来很麻烦,然后去看了一下loj的最短代码表示只能Orz 首先不难发现一条性质:能够选择的区间一定是不断收缩的,而且新的可选区间一定是旧区间的某个位置 ...
 - 获取请求的ip工具类
			
package com.example.util; import javax.servlet.http.HttpServletRequest; /** * get remote msg * 获取访问的 ...
 - 使用JDBC连接MySQL数据库的一个基本案例
			
JDBC的概念(摘自百度百科) JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一 ...
 - Activity切换的时候生命周期的变化
			
之前在做笔试题的时候遇到一个问题:Activity A切换到ActivityB时,A和B的生命周期变化. 事实上,它们的生命周期变化是这样的: 1.A的onPause()方法被执行. 2.B的onCr ...
 - Android为TV端助力 切换fragment的两种方式
			
使用add方法切换时:载入Fragment1Fragment1 onCreateFragment1 onCreateViewFragment1 onStartFragment1 onResume用以下 ...
 - Java面试题总结(不定期更新)
			
1.HashMap和Hashtable的区别? HashMap:key.value都可以为空,线程不安全.初始容量16,扩容方式每次为2倍 Hashtable:不支持null key 和null va ...
 - IE打开https网站时,取消证书问题提示
			
上面介绍了,调用IE来打开对应的网页问题,但是在实际测试中,有些网站是采用https协议的,这时候IE浏览器会弹出如下窗口,一般手动选择后,才可进入登录界面,那么该如何解决呢? 1.点击[继续浏览此网 ...