本文主要是介绍寻找缺少的数字,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
有100个连续的数字(假设1-100),随机打乱顺序,随机取出一个数字,求最快在这个数组中快速找出缺少的数字。
(1)排序后挨个查找
(2)运用hash表存储每个值,再查找
(3)巧妙的计算办法,其实现代码如下:
package com.threeTop.www;import java.util.Random;/*** 寻找缺失的数字* @author wjgs**/
public class LostNumber {/*** 投机取巧法* @param array*/public static void find(int []array){int all=(1+100)*100/2;for(int i=0;i<array.length;i++){all-=array[i];}System.out.println("缺失的数字为:"+all);}public static void main(String[] args) {//初始化100个数字int []arrayold=new int[100];for(int i=0;i<arrayold.length;i++){arrayold[i]=i+1;}//打乱排序Random rand=new Random();int t=rand.nextInt(100);//打印缺失的数字System.out.println(arrayold[t]);arrayold[t]=0;LostNumber.find(arrayold);}}
这篇关于寻找缺少的数字的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!