夢想帝國

          音樂,程序

           

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

          問題:有兩個長度分別為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 天鷹之翼 閱讀(323) 評論(1)  編輯  收藏

          評論

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

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


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


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 揭西县| 桃江县| 中西区| 富蕴县| 佛冈县| 龙门县| 高清| 乐至县| 黄山市| 高青县| 衡南县| 龙门县| 仁怀市| 察隅县| 察雅县| 九江县| 绥棱县| 漾濞| 加查县| 南宁市| 新民市| 武威市| 青川县| 宁海县| 额敏县| 宁阳县| 康乐县| 栖霞市| 白水县| 海宁市| 子长县| 乌拉特中旗| 北辰区| 德保县| 崇信县| 时尚| 磐安县| 萍乡市| 宁陵县| 固始县| 沂源县|