<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 閱讀(3088) 評論(1)  編輯  收藏 所屬分類: Java基礎算法數據結構

    評論

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

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

    sitinspring(http://www.tkk7.com)原創,轉載請注明出處.
    主站蜘蛛池模板: 日韩少妇内射免费播放| 日韩亚洲人成在线| 国产免费一区二区三区不卡| 无码乱人伦一区二区亚洲| 又粗又大又黑又长的免费视频| 亚洲日本一线产区和二线| 国产啪亚洲国产精品无码| aⅴ免费在线观看| 老司机免费午夜精品视频| 亚洲成人在线电影| 日本v片免费一区二区三区| 免费看男人j放进女人j免费看| 国产成人精品亚洲日本在线 | 日本特黄特色免费大片| 中文字幕乱码免费看电影| 亚洲欧洲精品成人久久曰| 亚洲av伊人久久综合密臀性色| 成年美女黄网站色大免费视频| 美女巨胸喷奶水视频www免费| 亚洲av产在线精品亚洲第一站| 亚洲无线码在线一区观看| 女人张开腿等男人桶免费视频| 亚洲电影免费在线观看| 日韩在线一区二区三区免费视频 | 亚洲三级高清免费| 黄床大片免费30分钟国产精品| 亚洲欧洲日本在线观看| 亚洲成Av人片乱码色午夜| 国产免费av片在线无码免费看| 久热中文字幕在线精品免费| 三年片免费高清版| 国产亚洲精品美女久久久久| 亚洲熟妇色自偷自拍另类| 亚洲色精品aⅴ一区区三区| 国产zzjjzzjj视频全免费| 91免费国产在线观看| 四虎国产精品永久免费网址 | 久久精品免费全国观看国产| 精品无码AV无码免费专区| a级毛片免费在线观看| 一区二区三区免费电影|