编程题:给定一个1~100的整数数组,请找到其中缺少的数字

编程题:给定一个1~100的整数数组,请找到其中缺少的数字
思路:遇到这种限定范围的数组,找到重复或者缺少的数字,我的做法都是声明一个同量级的数组,按照i==array[i]的规则在我声明的数组中填入数值,没有填入 对应的数值就说明原先数组缺少了这个数字

package com.ajman;


public class Top1 {
    /**
     * 给定一个1~100的整数数组,请找到其中缺少的数字
     * @param args
     */
    public static void main(String[] args) {
        int[] nums={8,8,8};
        repeatnum(nums);


    }
    public static void repeatnum(int[] nums){
        // 直接声明1~100的数组,按照数字跟数组的元素匹配进去,比如说给定的数组是{5,6,7},
        // 那么我就按照base[5]=5,base[6]=6,base[7]=7,到时候就直接遍历base的数组,i==base[i]的时候,说明有相应的数值
        //   为什么声明式101个数组呢?因为声明数组默认是全是0,也为了方便操作,不用给每个元素i+1去匹配数字
        int[] base=new int[101];
//
        for(int i=0;i<nums.length;i++){
            base[nums[i]]=nums[i];
        }

        for(int i=1;i<base.length;i++){
            if(base[i]==i){
                continue;
            }else{
                System.out.println("缺少的数字"+i);
            }
        }
    }

}