<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://m.tkk7.com)原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處.
    主站蜘蛛池模板: 亚欧人成精品免费观看| 久久久久久久久久久免费精品| 亚洲一区二区在线免费观看| 国产日韩亚洲大尺度高清| 久久久久久久久久免免费精品| 亚洲香蕉成人AV网站在线观看| 精品久久久久久无码免费| 精品国产香蕉伊思人在线在线亚洲一区二区| 在线观看亚洲视频| 亚洲另类激情专区小说图片| 国产免费牲交视频免费播放| 亚洲乱码无码永久不卡在线 | 亚洲中文字幕一二三四区苍井空| 成人无码区免费A片视频WWW| 亚洲私人无码综合久久网| 日本免费一二区在线电影| 暖暖免费中文在线日本| 亚洲色偷偷偷鲁综合| 日日麻批免费40分钟无码| 亚洲最新黄色网址| 在线免费视频一区二区| 国产成人亚洲精品播放器下载| 亚洲色一色噜一噜噜噜| 成人片黄网站色大片免费观看APP| 亚洲AV人无码激艳猛片| 免费H网站在线观看的| 国产成人亚洲综合无| 亚洲不卡av不卡一区二区| 91免费人成网站在线观看18| 亚洲精品无码你懂的| 浮力影院亚洲国产第一页| 最近2019中文字幕免费大全5| 亚洲精品综合在线影院| 国产成人亚洲影院在线观看| 99精品视频在线观看免费播放| 亚洲综合av一区二区三区| 亚洲精品乱码久久久久久蜜桃 | 国产在线观看xxxx免费| 亚洲国产成人99精品激情在线| 亚洲综合区小说区激情区 | 大学生一级毛片免费看|