美文网首页经典笔试题
编程题:给定一个1~100的整数数组,请找到其中缺少的数字

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

作者: xm的那年 | 来源:发表于2019-08-08 11:33 被阅读0次

    编程题:给定一个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);
                }
            }
        }
    
    }
    
    

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/tkotjctx.html