<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    春風博客

    春天里,百花香...

    導航

    <2008年6月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    統計

    公告

    MAIL: junglesong@gmail.com
    MSN: junglesong_5@hotmail.com

    Locations of visitors to this page

    常用鏈接

    留言簿(11)

    隨筆分類(224)

    隨筆檔案(126)

    個人軟件下載

    我的其它博客

    我的鄰居們

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    判斷數組元素是否存在重復,要求時間復雜度為O(1)

    下面的代碼涉及判斷數組元素是否存在重復,要求時間復雜度為O(1)。
    這樣的題肯定不能用雙循環比較,這樣太慢,用hashcode判斷是正道,使用現成的hashset更能簡化代碼。

    代碼如下:
    package com.sitinspring;

    import java.util.HashSet;
    import java.util.Set;

    /**
     * 數組重復測試,要求時間復雜度為O(n)
     * 
    @author sitinspring(junglesong@gmail.com)
     * 
    @since 2008-6-11 上午11:12:53
     * @vsersion 1.00 創建 sitinspring 2008-6-11 上午11:12:53
     
    */

    public class ArrayDuplicateTest{
        
    /**
         * 構造函數
         *
         
    */

        
    public ArrayDuplicateTest(int[] arr){
            System.out.print(
    "數組:");
            
    for(int temp:arr){
                System.out.print(temp
    +",");
            }

            
            
    if(hasDuplicateItem(arr)==false){
                System.out.println(
    "無重復結果");
            }

            
    else{
                System.out.println(
    "有重復結果");
            }

        }

        
        
    /**
         * 取得檢測結果
         * 
    @param arr
         * 
    @return
         
    */

        
    private boolean hasDuplicateItem(int[] arr){
            Set
    <Integer> set=new HashSet<Integer>();
            
            
    for(int i:arr){
                
    if(!set.add(i)){
                    
    return true;
                }

            }

            
            
    return false;
        }

        
        
    public static void main(String[] args){
            
    int[] arr1={1,2,3,4,5};
            
    new ArrayDuplicateTest(arr1);
            
            
    int[] arr2={1,2,3,4,5,5,53,43,42,2,454,6,5456,4534,4};
            
    new ArrayDuplicateTest(arr2);
            
            
    int[] arr3={1,2,3,4,5,767,4332,534,76,6583,356};
            
    new ArrayDuplicateTest(arr3);
        }

    }

    輸出:
    數組:1,2,3,4,5,無重復結果
    數組:
    1,2,3,4,5,5,53,43,42,2,454,6,5456,4534,4,有重復結果
    數組:
    1,2,3,4,5,767,4332,534,76,6583,356,無重復結果

    posted on 2008-06-11 11:44 sitinspring 閱讀(3092) 評論(1)  編輯  收藏 所屬分類: Java基礎算法數據結構

    評論

    # re: 判斷數組元素是否存在重復,要求時間復雜度為O(1) 2013-07-12 14:43 Ricky

    這個時間復雜度不是O(1)吧,HashSet內吧的判定也影響時間復雜度的!  回復  更多評論   

    sitinspring(http://m.tkk7.com)原創,轉載請注明出處.
    主站蜘蛛池模板: 成人毛片18女人毛片免费96| 免费特级黄毛片在线成人观看| 无码人妻精品中文字幕免费东京热| 国产婷婷成人久久Av免费高清 | 亚洲男人天堂2018av| 丝袜足液精子免费视频| 国产美女无遮挡免费视频网站| 亚洲a∨无码男人的天堂| 久久精品国产这里是免费| 中文字幕在线亚洲精品| 亚洲AV无码成人精品区狼人影院| 日韩免费高清大片在线| 好看的电影网站亚洲一区| 四虎国产精品成人免费久久| 免费高清在线影片一区| 91在线免费视频| 国产精一品亚洲二区在线播放| 免费观看的毛片大全| 国产精品免费大片一区二区| 亚洲第一页综合图片自拍| 豆国产96在线|亚洲| 国产极品粉嫩泬免费观看| 久久青青草原国产精品免费| 亚洲AV无码一区二区三区性色| 亚洲色四在线视频观看| 色欲色香天天天综合网站免费 | 久久久亚洲欧洲日产国码是AV| 久草福利资源网站免费| 西西人体大胆免费视频| 亚洲人成人网站在线观看| 黄网站在线播放视频免费观看| 亚洲美女激情视频| 中文字幕亚洲不卡在线亚瑟| 最新国产乱人伦偷精品免费网站| 亚洲avav天堂av在线不卡| 999久久久免费精品播放| 一级毛片大全免费播放下载| 国产av无码专区亚洲av桃花庵| 无码av免费一区二区三区| 亚州**色毛片免费观看| 亚洲精品无码mⅴ在线观看|