日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

找出1到N中缺少的數?

發布時間:2024/7/19 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 找出1到N中缺少的數? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

《算法導論》中的練習題,

n-1個元素的數組A,含有1到n之間的n-1個數,找出缺少的那個數?

要求:O(n)

解法一:

sum = n*(n+1)/2;

sum減掉A中的每個元素,剩下的就是要找的數。

解法二:

利用異或運算,x^x==0

xor = 1^2^...^n;

xor異或A中的每個元素,最後得到的就是所求。

解法三:

增加一個空位A[n-1],將A[i]移到A[ A[i] ],

?

題目升級:

? 缺失兩個數,求出這兩個數。

思想:

? ?也是采用異或。

? ? 假設,缺失的數為s1和s2。則s1^s2=1^2^3.....^n^a[0]^a[1]^....a[n-3]。這個式子一目了然,無需多解釋。

問題是如何通過這個式子求出s1與s2的值。只要能求出一個值,比如說s1,則s2=s1^(s1^s2)。

? ?s1^s2的值必然不為0,則必然存在一位,s1與s2在此對應位不同。我們就可以按照此對應位是0或者1,將1-n分為兩堆,將a[0]-a[n-3]分為兩堆。

將該為為1的兩堆數相異或就能求出缺失的一個數。

? ?舉個例子。1-7中缺失3,4。轉化為二進制位:011和100。三位都不同,我們用最后一位來判別,將1-n和數組非為兩堆。

? 則結果為:

標志位(最后一位)10
1-n1、3、5、72、4、6
a[0]-a[n-3]1、5、72、6

用標志位為1的數進行異或

?1^3^5^7^1^5^7=3。這樣就求出了一個缺失數。

// in case find two missing numbers, here size is 2 less than the range n void find_missing_number2 (int a[], int size, int& miss1, int& miss2) {miss1 = 0;miss2 = 0;int number=0;for (int i=0;i<size;i++)number ^= ((i+1)^a[i]);number ^= (size+1);number ^= (size+2); // now number will be miss1^miss2// find the binary 1 in numberint k = number - (number&(number-1));for (int i=0;i<size;i++) {if ( (i+1)&k )miss1 ^= (i+1);if ( a[i]&k )miss1 ^= a[i];}if ( (size+1) & k )miss1 ^= size+1;if ( (size+2) & k )miss1 ^= size+2;miss2 = number ^ miss1; }

?

類似的問題:

1、1-1000放在含有1001個元素的數組中,只有唯一的一個元素值重復,其它均只出現一次。每個數組元素只能訪問一次,設計一個算法,將它找出來;

不用輔助存儲空間,能否設計一個算法實現?

2、給你n個數,其中有且僅有一個數出現了奇數次,其余的數都出現了偶數次。用線性時間常數空間找出出現了奇數次的那一個數。

3、給你n個數,其中有且僅有兩個數出現了奇數次,其余的數都出現了偶數次。用線性時間常數空間找出出現了奇數次的那兩個數。

轉載于:https://www.cnblogs.com/prajna/archive/2013/02/25/2932807.html

總結

以上是生活随笔為你收集整理的找出1到N中缺少的數?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲女优在线观看 | 久久狠狠婷婷 | 性视屏| 青娱乐av| 少妇av一区二区三区 | 久久免费黄色网址 | 探花国产在线 | 黄色片hd| 九色91在线| 老头糟蹋新婚少妇系列小说 | 人妻精品无码一区二区 | 精品999视频 | 免费福利视频网站 | 日韩欧美国产高清91 | 欧美另类色 | 欧洲av一区二区三区 | 久久久久久久蜜桃 | 樱花动漫无圣光 | 黄色小说网站在线观看 | 国内精品久久久 | 欧美人与性禽动交精品 | 久久综合九色综合欧美狠狠 | 欧美特级黄色片 | 亚洲三区视频 | 国产免费久久精品国产传媒 | 嫩草网站在线观看 | 牛牛热在线视频 | 激情六月婷婷 | 午夜精品导航 | 搡老岳熟女国产熟妇 | 午夜啪啪网站 | 国产精品无码一区二区三 | 99热精品在线观看 | 欧美一级一级一级 | 成人在线观看免费网站 | av一区二区三区四区 | 亚洲一区二区麻豆 | 黄在线视频 | 麻豆av网址 | 日韩av中文字幕在线免费观看 | 99er热精品视频 | 老司机狠狠爱 | 黄色av三级| 欧美乱妇狂野欧美在线视频 | 亚洲成a人片77777精品 | 日日日操操操 | 亚洲av人人澡人人爽人人夜夜 | 婚后打屁股高h1v1调教 | 2级黄色片| 国产欧美一区二区精品忘忧草 | 先锋影音中文字幕 | 又黄又爽又色的视频 | 青春草视频在线免费观看 | 天天燥日日燥 | 九九九久久久 | 在线观看黄 | 樱桃国产成人精品视频 | 中文精品在线观看 | 男人女人拔萝卜视频 | 女女互磨互喷水高潮les呻吟 | 懂色av粉嫩av蜜乳av | 久久偷看各类wc女厕嘘嘘偷窃 | 国产毛片久久久 | 动漫美女隐私无遮挡 | 亚洲AV无码精品黑人黑人 | 91精品福利 | 久久久一二三 | 成人久久av | 少妇人妻偷人精品视频蜜桃 | 蜜桃视频久久一区免费观看入口 | 精品国产精品三级精品av网址 | 一个人看的视频www 色就是色网站 | 欧美一级大片免费看 | 一级免费黄色大片 | 高潮videossex高潮 | 欧美视频你懂的 | 亚洲精品xxx | av男女 | 一本一道久久 | 一区二区三区在线看 | 黄色国产在线观看 | 欧美一级色| 欧美一区二区在线播放 | 手机看片日韩久久 | 天堂中文网在线 | 午夜国产一级 | 一区二区日韩视频 | 在线观看免费人成视频 | 国产精品毛片一区二区在线看舒淇 | 国产一及片 | 国产精品亚洲欧美 | 婷婷欧美| 欧美色悠悠 | 国模人体一区二区 | 狠狠噜噜 | 久久视频这里只有精品 | 欧美人性生活视频 | 孕妇一级片| 久久亚洲综合色图 |