李敏  
          日歷
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345
          統計
          • 隨筆 - 1
          • 文章 - 40
          • 評論 - 4
          • 引用 - 0

          導航

          常用鏈接

          留言簿(1)

          文章分類

          文章檔案

          相冊

          收藏夾

          它山之石

          聚賢莊

          搜索

          •  

          最新評論

           
          int nums[] = {
                
          313642
              }
          ;

              scanIndexNumber(nums);

              nums 
          = new int[]{
                
          36
              }
          ;

              scanIndexNumber(nums);

           /** 
             *掃描連續數(先驗證重復,后驗證連續數) 
             
          */

            
          public void scanIndexNumber(int[] nums){
              
          //判斷重復數和有效數組長度 
              if (!isNumberOnlyOne(nums) || nums.length == 1)
                System.out.println(
          "數據不合法!");
              
          else{

                
          //返回數組中的最大值和最小值 
                int[] MinAndMax = scanArrayNumberMinAndMax(nums);

                
          //最小值 
                int min = MinAndMax[0];

                
          //最大值 
                int max = MinAndMax[1];


                
          //原始數組的長度 
                int argsArrayLen = nums.length;

                checkIndexNumber(argsArrayLen, min, max);
              }

              System.out.println();
            }




            
          /**
             *求出數組中的最小和最大值,返回的結果是一個數組。第一個數是最小值,第二個是最大值。 
             
          */

            
          public int[] scanArrayNumberMinAndMax(int[] nums){
              
          //最小值 
              int min = nums[0];

              
          //最大值 
              int max = nums[0];

              
          for (int num: nums){
                
          //求最大值 
                if (min > num)
                  min 
          = num;

                
          //求最大值 
                if (max < num)
                  max 
          = num;
              }


              
          int[] result = new int[]{
                min, max
              }
          ;

              
          return result;
            }


            
          /**
             *驗證是否有重復數 
             
          */

            
          public boolean isNumberOnlyOne(int[] nums){
              
          //消除重復數據 
              Set < Integer > s = new HashSet < Integer > ();

              
          for (int num: nums){
                s.add(num);
              }


              
          //原始數組的長度 
              int argsArrayLen = nums.length;

              
          //不重復的數組個數 
              int arrayLen = s.size();

              
          return argsArrayLen == arrayLen;
            }


            
          /**
             *驗證連續數 
             
          */

            
          public void checkIndexNumber(int argsArrayLen, int min, int max){

              
          //理論上的連續數的總數 
              int numLen = max - min + 1;

              
          //判斷是否為連續數 
              if (argsArrayLen == numLen){
                System.out.println(
          "數組的個數= " + argsArrayLen);
                System.out.println(
          "理論上的連續數的總數= " + numLen);
                System.out.println(
          "Bing Go!");
              }

              
          else
                System.out.println(
          "非連續數!");
            }
          posted on 2010-08-05 02:16 李敏 閱讀(188) 評論(0)  編輯  收藏 所屬分類: 算法
           
          Copyright © 李敏 Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 青阳县| 吉安县| 星座| 孙吴县| 古丈县| 新宾| 平果县| 固镇县| 黄大仙区| 兖州市| 中西区| 治县。| 舟曲县| 嘉兴市| 永川市| 渭源县| 祁连县| 洪洞县| 双城市| 交口县| 扎赉特旗| 乐平市| 商河县| 西乡县| 大竹县| 沽源县| 青海省| 衡阳市| 新巴尔虎左旗| 罗江县| 松原市| 陇南市| 陆河县| 漳平市| 铜陵市| 富顺县| 策勒县| 海伦市| 保靖县| 山丹县| 北辰区|