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

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

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

    春風(fēng)博客

    春天里,百花香...

    導(dǎo)航

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

    統(tǒng)計(jì)

    公告

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

    Locations of visitors to this page

    常用鏈接

    留言簿(11)

    隨筆分類(224)

    隨筆檔案(126)

    個(gè)人軟件下載

    我的其它博客

    我的鄰居們

    最新隨筆

    搜索

    積分與排名

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

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

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

    代碼如下:
    package com.sitinspring;

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

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

    public class ArrayDuplicateTest{
        
    /**
         * 構(gòu)造函數(shù)
         *
         
    */

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

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

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

        }

        
        
    /**
         * 取得檢測(cè)結(jié)果
         * 
    @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);
        }

    }

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

    posted on 2008-06-11 11:44 sitinspring 閱讀(3086) 評(píng)論(1)  編輯  收藏 所屬分類: Java基礎(chǔ)算法數(shù)據(jù)結(jié)構(gòu)

    評(píng)論

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

    這個(gè)時(shí)間復(fù)雜度不是O(1)吧,HashSet內(nèi)吧的判定也影響時(shí)間復(fù)雜度的!  回復(fù)  更多評(píng)論   

    sitinspring(http://www.tkk7.com)原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處.
    主站蜘蛛池模板: 1000部拍拍拍18勿入免费视频软件| 最近中文字幕mv免费高清在线| 亚洲gv白嫩小受在线观看| 日韩免费高清大片在线| 亚洲综合一区二区三区四区五区| 国产午夜鲁丝片AV无码免费| 久久精品成人免费观看97| 亚洲嫩模在线观看| 国国内清清草原免费视频99| 一级中文字幕免费乱码专区| 亚洲天堂一区二区| 免费一级毛片在播放视频| 在线成人爽a毛片免费软件| 久久亚洲中文无码咪咪爱| 亚洲激情中文字幕| 午夜国产大片免费观看| 97国产在线公开免费观看| 激情吃奶吻胸免费视频xxxx| 久久亚洲日韩看片无码| 国产a v无码专区亚洲av| 一二三四影视在线看片免费 | 国产麻豆一精品一AV一免费| 国产精品亚洲片在线va| 亚洲乱码中文字幕综合| 在线jyzzjyzz免费视频| 日本免费高清视频| 日韩免费码中文在线观看| 亚洲人成毛片线播放| 亚洲av永久无码精品网站| 国产成人免费A在线视频| 永久看日本大片免费35分钟| 美女无遮挡拍拍拍免费视频| 亚洲精品无码中文久久字幕| 久久久无码精品亚洲日韩按摩| 夜色阁亚洲一区二区三区| 欧美在线看片A免费观看| 无码国产精品一区二区免费vr | 久久国产亚洲精品无码| 亚洲成a人片在线观看无码| 亚洲成AⅤ人影院在线观看| 四虎影院免费视频|