夢想帝國

          音樂,程序

           

          用最少的循環次數求出兩個數組中的相同元素

          問題:有兩個長度分別為M和N的數組,用最少的循環次數求出他們中的相同元素。
          分析:用容器來解決。將這兩個數組分別放在兩個ArrayList中,再調用ArrayList的retainAll方法即可。
                  A.retainAll(B):從A集合中刪除B集合中不包含的元素.
          實現代碼如下:

          package com.miaojian.li;

          import java.util.ArrayList;
          import java.util.Collection;

          public class FindFromArray {

           
              public static void main(String[] args) {

              int[] array1={1,2,3,4,5,6,7};
              int[] array2={2,4,6,8,10,1};
              Collection c1=new ArrayList();
              Collection c2=new ArrayList();
            
              for(int i=0;i<array1.length;i++)    //將array1添加到c1中
              {
                  c1.add(array1[i]);
              }
              for(int i=0;i<array2.length;i++)   //將array2添加到c2中
             {
                  c2.add(array2[i]);
             }
             c1.retainAll(c2);          //從c1集合中刪除c2集合中不包含的元素
             System.out.println(c1);
             }
          }
          因此總的循環次數是M+N
          結果如下 :

          [1, 2, 4, 6]

          posted on 2012-10-30 22:34 天鷹之翼 閱讀(322) 評論(1)  編輯  收藏

          評論

          # re: 用最少的循環次數求出兩個數組中的相同元素 2012-10-31 13:01 cintana

          為啥要用循環?用new ArrayList(Array.asList())
          另外,這個程序的性能值得思考,要比排序后查找要差  回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 新乡市| 江永县| 社会| 贡嘎县| 邛崃市| 克东县| 伊川县| 乐亭县| 厦门市| 合川市| 克什克腾旗| 甘德县| 台南县| 克拉玛依市| 临猗县| 连南| 德江县| 秭归县| 晋江市| 宣武区| 连州市| 浦江县| 旬阳县| 平江县| 高邮市| 改则县| 肇庆市| 牙克石市| 库车县| 大田县| 米易县| 玛曲县| 淮安市| 武宣县| 阿坝| 疏附县| 天津市| 华池县| 化隆| 河北省| 教育|