<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)

    隨筆分類(lèi)(224)

    隨筆檔案(126)

    個(gè)人軟件下載

    我的其它博客

    我的鄰居們

    最新隨筆

    搜索

    積分與排名

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    使用位圖法判斷整形數(shù)組是否存在重復(fù)

    判斷集合中存在重復(fù)是常見(jiàn)編程任務(wù)之一,當(dāng)集合中數(shù)據(jù)量比較大時(shí)我們通常希望少進(jìn)行幾次掃描,這時(shí)雙重循環(huán)法就不可取了。

    位圖法比較適合于這種情況,它的做法是按照集合中最大元素max創(chuàng)建一個(gè)長(zhǎng)度為max+1的新數(shù)組,然后再次掃描原數(shù)組,遇到幾就給新數(shù)組的第幾位置上1,如遇到5就給新數(shù)組的第六個(gè)元素置1,這樣下次再遇到5想置位時(shí)發(fā)現(xiàn)新數(shù)組的第六個(gè)元素已經(jīng)是1了,這說(shuō)明這次的數(shù)據(jù)肯定和以前的數(shù)據(jù)存在著重復(fù)。這種給新數(shù)組初始化時(shí)置零其后置一的做法類(lèi)似于位圖的處理方法故稱(chēng)位圖法。它的運(yùn)算次數(shù)最壞的情況為2N。如果已知數(shù)組的最大值即能事先給新數(shù)組定長(zhǎng)的話效率還能提高一倍。

    示例代碼如下:

    package com.sitinspring;

    /**
     * 數(shù)組重復(fù)探測(cè),時(shí)間復(fù)雜度為O(n)
     * 
    @author: sitinspring(junglesong@gmail.com)
     * @date: 2008-6-18-上午03:24:07
     
    */

    public class DuplicatedArrayTest{
        
    public static void main(String[] args){
            
    int[][] arr={
                    
    {1,2,3,5,3,5,56,534,3,32},
                    
    {1,2,3,5},
                    
    {1,2,3,5,3,5},
                    
    {0,0,1,2,3,5,56,534,78,32},
            }
    ;
            
            
    for(int i=0;i<arr.length;i++){
                System.out.print(
    "數(shù)組:");
                
    for(int temp:arr[i]){
                    System.out.print(temp
    +",");
                }

                System.out.print(
    "");
                System.out.print(hasDuplicatedItem(arr[i])
    ?"存在":"不存在");
                System.out.print(
    "重復(fù)元素.\n");
            }

        }

        
        
    /**
         * 判斷整形數(shù)組中是否有重復(fù)數(shù)據(jù),時(shí)間復(fù)雜度為O(n)
         * 
    @param arr
         * 
    @return
         
    */

        
    public static boolean hasDuplicatedItem(int[] arr){
            
    // 掃描數(shù)組找最大值
            int max=arr[0];        
            
    for(int i=1;i<arr.length;i++){
                
    if(arr[i]>max){
                    max
    =arr[i];
                }

            }

            
            
    // 按最大值創(chuàng)建一個(gè)新數(shù)組
            int[] bitArray=new int[max+1];
            
            
    // 按值向新數(shù)組中添值,如value為3則bitArray[3]=1
            for(int value:arr){
                
    if(bitArray[value]!=0){
                    
    // 如果value指向的位置已經(jīng)不是零,說(shuō)明之前已經(jīng)給這一塊置1了,立即返回true表示數(shù)組有重復(fù)
                    return true;
                }

                
    else{
                    
    // value指向的位置是零,則置為1表示這一位已經(jīng)有數(shù)存在了
                    bitArray[value]=1;
                }

            }
            
            
            
    return false;
        }

    }

    輸出:
    數(shù)組:1,2,3,5,3,5,56,534,3,32,中存在重復(fù)元素.
    數(shù)組:
    1,2,3,5,中不存在重復(fù)元素.
    數(shù)組:
    1,2,3,5,3,5,中存在重復(fù)元素.
    數(shù)組:
    0,0,1,2,3,5,56,534,78,32,中存在重復(fù)元素.

    題外話:
    今天法國(guó)真是太背了,為它送行吧!但愿它能早日迎來(lái)一個(gè)新的齊達(dá)內(nèi)。

    posted on 2008-06-18 04:11 sitinspring 閱讀(1213) 評(píng)論(0)  編輯  收藏


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    sitinspring(http://m.tkk7.com)原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處.
    主站蜘蛛池模板: 日本亚洲精品色婷婷在线影院| 在线看亚洲十八禁网站| 91手机看片国产永久免费| 亚洲熟妇av午夜无码不卡| 啊v在线免费观看| 久久中文字幕免费视频| 亚洲中文字幕久久精品无码VA | 免费不卡在线观看AV| 亚洲人成影院午夜网站| 亚洲高清无码专区视频| 57pao国产成永久免费视频| 亚洲av无码专区在线电影天堂| 亚洲午夜福利精品无码| 3d成人免费动漫在线观看| 理论亚洲区美一区二区三区| 久久久久亚洲精品美女| 国产成人无码免费视频97| 无码人妻丰满熟妇区免费| 国产亚洲精品2021自在线| 久久亚洲熟女cc98cm| www亚洲一级视频com| 91禁漫免费进入| 一级毛片在线完整免费观看| 亚洲香蕉久久一区二区| 亚洲精品乱码久久久久久久久久久久 | 国产精品亚洲mnbav网站| 国产精品1024永久免费视频| www永久免费视频| 亚洲人成网站在线播放2019| 亚洲AV无码码潮喷在线观看| 国产真人无遮挡作爱免费视频| 99精品视频在线视频免费观看| 久香草视频在线观看免费| 亚洲精品日韩一区二区小说| 在线观看亚洲一区二区| 亚洲尤码不卡AV麻豆| 国产免费av片在线播放| 国产一精品一AV一免费孕妇| 在线成人爽a毛片免费软件| 你是我的城池营垒免费观看完整版 | 自拍偷自拍亚洲精品第1页|