夢想帝國

          音樂,程序

           

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

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

          評論

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

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


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


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 忻城县| 葫芦岛市| 济宁市| 雷州市| 卓尼县| 松桃| 连江县| 兖州市| 嵩明县| 嘉荫县| 平和县| 莱西市| 浦县| 衡阳市| 遂溪县| 阜阳市| 南召县| 绩溪县| 兴隆县| 家居| 元阳县| 利川市| 乌兰察布市| 浪卡子县| 鱼台县| 巴里| 宿迁市| 海淀区| 安仁县| 行唐县| 兴安县| 哈巴河县| 巴东县| 四川省| 浑源县| 仙居县| 夏津县| 云霄县| 新巴尔虎右旗| 江北区| 壤塘县|