青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 183,  comments - 10,  trackbacks - 0
找到 50 億個(gè) 32 位整型數(shù)中出現(xiàn)重復(fù)的數(shù)。
可行的方法是利用位圖。32 位數(shù)的范圍是 0~2^32 - 1
開辟一個(gè) 2^32 個(gè) bit 的空間,大小約為 512 MB。
一次掃描每一個(gè)數(shù),檢測(cè)以該數(shù)為索引的那個(gè) bit 是否為 0 ,若為 0 ,則說明過去不存在,將其置為 1,如果為 1 則說明以前出現(xiàn)過,則說明該數(shù)是重復(fù)出現(xiàn)的。
這個(gè)問題解決的關(guān)鍵在于用待檢測(cè)數(shù)去做索引,利用隨即存取的特點(diǎn),可以做到 O(1) 的效率。用數(shù)本身做索引是一種高效的方法。
 1 #include <iostream>
 2 #include <bitset>
 3 #include <vector>
 4 #include <cmath>
 5 using namespace std;
 6 
 7 void foo(const vector<int>& arr)
 8 {
 9     bitset<1024> bs;
10 
11     for (vector<int>::size_type i = 0; i != arr.size(); ++i)
12     {
13         if (bs[arr[i]] == 0)
14         {
15             bs[arr[i]].flip();
16         }
17         else
18         {
19             cout << arr[i] << endl;
20         }
21     }
22 }
23 
24 int main()
25 {
26     vector<int> arr;
27     for (int i = 0; i < 100++i)
28     {
29         arr.push_back(i);
30     }
31     arr.push_back(5);
32     arr.push_back(25);
33 
34     foo(arr);
35     return 0;
36 }

關(guān)鍵在于這個(gè)位圖如何實(shí)現(xiàn)。STL 中有個(gè) bitset 就好可以做這個(gè)工作。
但是如果需要仔細(xì)實(shí)現(xiàn)一個(gè)該如何辦?也就是說自己實(shí)現(xiàn)一個(gè) bitset

實(shí)現(xiàn)一個(gè)類似的 bitset
http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.2/bitset-source.html
http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.2/bitset.html
http://blog.sina.com.cn/s/blog_4d3a41f40100kxnw.html
http://blog.sina.com.cn/s/articlelist_1295663604_0_1.html

更進(jìn)一步學(xué)習(xí) bitset ,《STL 源碼剖析》中應(yīng)該有所介紹
關(guān)鍵是對(duì) bit 的讀寫如何操作。

 1 #include <iostream>
 2 #include <bitset>
 3 #include <vector>
 4 #include <cmath>
 5 using namespace std;
 6 
 7 template <unsigned NUM>
 8 class MyBitset
 9 {
10 private:
11     char* data_;
12     unsigned numbits;
13     unsigned numchars;
14 public:
15     MyBitset() : numbits(NUM), numchars(NUM / 8 + 1)
16     {
17         data_ = new char[numchars];
18         if (data_ == 0)
19         {
20             exit(1);
21         }
22         memset(data_, 0, numchars);
23     }
24     unsigned operator [] (unsigned pos)
25     {
26         char c = data_[pos / 8];
27         unsigned t = pos - pos / 8 * 8;
28         while (t > 0)
29         {
30             c <<= 1;
31             --t;
32         }
33         if (c & 128)
34         {
35             return 1;
36         }
37         else
38         {
39             return 0;
40         }
41     }
42     void set(unsigned pos)
43     {
44         char* p = data_ + pos / 8;
45         unsigned t = pos - pos / 8 * 8;
46         char temp = pow(2.08.0 - t);
47         *|= temp;
48     }
49 };
50 
51 void foo(const vector<int>& arr)
52 {
53     // bitset<1024> bs;
54     MyBitset<1024> bs;
55 
56     for (vector<int>::size_type i = 0; i != arr.size(); ++i)
57     {
58         if (bs[arr[i]] == 0)
59         {
60             // bs[arr[i]].flip();
61             bs.set(arr[i]);
62         }
63         else
64         {
65             cout << arr[i] << endl;
66         }
67     }
68 }
69 
70 int main()
71 {
72     vector<int> arr;
73     for (int i = 0; i < 100++i)
74     {
75         arr.push_back(i);
76     }
77     arr.push_back(5);
78     arr.push_back(25);
79 
80     foo(arr);
81     return 0;
82 }



 

posted on 2011-06-16 17:17 unixfy 閱讀(526) 評(píng)論(2)  編輯 收藏 引用

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲无线视频| 亚洲综合视频1区| 国产精品视频一二| 美女国产一区| 久久九九免费| 亚洲伊人一本大道中文字幕| 欧美婷婷久久| 国产欧美综合一区二区三区| 亚洲国产欧美在线| 国产精品美女主播| 国产免费观看久久| 好吊视频一区二区三区四区| 国产精品久久久久久久久免费桃花| 欧美成人一区二区在线| 久久久久国产成人精品亚洲午夜| 久久婷婷久久| 欧美日韩免费观看一区=区三区| 亚洲一区二区视频在线| 99re亚洲国产精品| 亚洲一区二区欧美日韩| 亚洲午夜精品网| 久久九九国产精品怡红院| 欧美激情一区二区| 国产精品99久久久久久宅男| 欧美一级大片在线观看| 国产一区二区成人| 日韩天天综合| 免费成人网www| 国产一区二区三区高清在线观看| 亚洲国语精品自产拍在线观看| 午夜精品一区二区三区电影天堂| 亚洲男女毛片无遮挡| 亚洲精品一区二区三区不| 久久婷婷人人澡人人喊人人爽| 国产精品一区久久久| 亚洲欧美第一页| 91久久精品日日躁夜夜躁国产| 亚洲精品一区在线| 国产精品国产成人国产三级| 亚洲精品久久久久久久久久久久| 欧美成人资源| 欧美激情精品久久久久久黑人| 91久久夜色精品国产网站| 亚洲精品在线看| 亚洲日本激情| 好吊视频一区二区三区四区| 欧美成人国产| 久久人91精品久久久久久不卡| 亚洲美女视频在线免费观看| 久久精品国产一区二区电影| 欧美在线视频免费播放| 亚洲国产一区二区三区青草影视| 欧美黄网免费在线观看| 国产精品久久久久一区二区三区共| 国产自产女人91一区在线观看| 亚洲欧美综合v| 老司机一区二区三区| av不卡免费看| 欧美激情一二三区| 国产精品青草久久久久福利99| 欧美一区二区三区免费视| 国产精品99久久久久久宅男| 欧美高清在线| 亚洲欧美日韩一区在线| 欧美福利专区| 亚洲影院色无极综合| 久热精品在线| 国产亚洲一区二区三区在线播放 | 免费久久久一本精品久久区| 国产欧美日韩亚洲| 久久久久久国产精品一区| 亚洲欧美成人网| 国产精品久久久久一区二区三区 | 亚洲欧美日韩精品综合在线观看| 亚洲一区二区动漫| 国产日韩精品一区二区三区在线 | 男女激情视频一区| 狠狠操狠狠色综合网| 欧美一区二区精品久久911| 久久精品亚洲一区| 亚洲国产专区校园欧美| 奶水喷射视频一区| 午夜一区二区三区在线观看 | 欧美日韩一区二区三| 亚洲精品视频免费| 亚洲精品乱码久久久久久久久| 欧美激情一区三区| 一区二区成人精品| 久久久一二三| 欧美日韩精品一区二区天天拍小说 | 亚洲精品视频免费观看| 欧美顶级艳妇交换群宴| 欧美性猛交xxxx免费看久久久 | 久久婷婷人人澡人人喊人人爽| 一区二区三区.www| 夜夜爽av福利精品导航| 欧美亚洲成人精品| 欧美一区二区三区四区视频| 免费毛片一区二区三区久久久| 日韩视频免费在线| 国产精品视频免费一区| 欧美精品在欧美一区二区少妇| 欧美性猛交xxxx乱大交蜜桃| 欧美一区二区三区视频在线观看 | 亚洲女同在线| 国内精品国产成人| 欧美日韩日本网| 久久久亚洲国产美女国产盗摄| 亚洲人永久免费| 亚洲高清网站| 久久久精彩视频| 美日韩免费视频| 久久黄金**| 国产午夜亚洲精品理论片色戒| 99人久久精品视频最新地址| 久久激情五月丁香伊人| 日韩亚洲一区二区| 亚洲精品国久久99热| 国产欧美在线播放| 国产日韩欧美中文在线播放| 国产精品入口夜色视频大尺度| 欧美日韩国产大片| 国产精品wwwwww| 国产精品成人免费| 国产日韩视频| 国产一区av在线| 国产欧美日韩一区| 亚洲激情校园春色| 久久人人97超碰国产公开结果| 久久九九国产| 美脚丝袜一区二区三区在线观看| 性欧美办公室18xxxxhd| 欧美va亚洲va国产综合| 久久久久久国产精品mv| 亚洲国产成人精品久久久国产成人一区 | 日韩亚洲精品在线| 日韩一区二区免费高清| 99这里只有精品| 久久精品国产亚洲高清剧情介绍| 免费不卡中文字幕视频| 欧美亚洲第一页| 国产精品久久久久久影视| 亚洲国产综合91精品麻豆| 亚洲一区免费网站| 亚洲人成人99网站| 一本大道久久a久久综合婷婷| 久久成人免费网| 亚洲精品看片| 欧美日韩在线一区| 亚洲一区视频| 久久国产免费| 亚洲一区二区在线观看视频| 欧美精品一区在线播放| 亚洲开发第一视频在线播放| 久久爱另类一区二区小说| 一本色道久久综合亚洲二区三区 | 国产欧美精品va在线观看| 一本色道久久精品| 99视频国产精品免费观看| 欧美亚州一区二区三区| 亚洲婷婷在线| 亚洲免费人成在线视频观看| 国产女人水真多18毛片18精品视频| 国产美女在线精品免费观看| 久久久www成人免费精品| 午夜精品福利在线| 国产欧美婷婷中文| 欧美大学生性色视频| 欧美日韩国产三区| 久久成人18免费观看| 欧美肥婆在线| 亚洲一区制服诱惑| 午夜精品久久久久久久99黑人| 国产日韩欧美日韩| 女人香蕉久久**毛片精品| 欧美国产一区二区| 欧美在线三区| 国产精品久久| 久久激情婷婷| 久久久夜色精品亚洲| 亚洲一区二区三区影院| 久久精品一区二区三区不卡| 一区二区三区精品久久久| 噜噜噜91成人网| 欧美老女人xx| 亚洲高清一区二区三区| 国内成人精品视频| 一本大道久久a久久综合婷婷| 欧美国产精品人人做人人爱| 欧美韩国在线| 欧美第一黄网免费网站| 伊人成人开心激情综合网| 欧美成人精品不卡视频在线观看| 久久精品视频亚洲| 欧美在线free| 国产亚洲欧美一区二区| 一区二区三区四区国产| 在线观看成人一级片| 亚洲欧美区自拍先锋| 久久精品91|