最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

開始學(xué)算法(刷算法題)過程記錄 2

2022-05-06 18:16 作者:學(xué)途壓力大  | 我要投稿

題目描述:不修改數(shù)組找出重復(fù)的數(shù)字

????????在一個長度為n+1的數(shù)組里的所有數(shù)字都在1~n的范圍內(nèi),所以數(shù)組中至少有一個數(shù)字是重復(fù)的。找出數(shù)組中任意一個重復(fù)的數(shù)字,但不能修改輸入的數(shù)組。

解題思路:解法一,創(chuàng)建一個輔助數(shù)組,然后逐個復(fù)制進(jìn)去,就能找到有沒有重復(fù),空間復(fù)雜度是O(n)。

解法二,長度為8的數(shù)組 值范圍是1-7,list=[2,2,1,0,4,5,3]。

取中間下標(biāo)3,統(tǒng)計數(shù)組中大于1小于3的值。

假如0-3下標(biāo)中沒重復(fù)的值,我們統(tǒng)計數(shù)組中大于等于1小于等于3的值的個數(shù),肯定不會大于3。

假如0-3下標(biāo)中有重復(fù)的值,例如上數(shù)組,大于等于1小于等于3的值的個數(shù),2,2,1,3一共4個,說明值1-3之間一定有重復(fù)的數(shù)字

縮小范圍,取下標(biāo)2作為中間下標(biāo),下標(biāo)1-2之間 大于等于1小于等于2的個數(shù),2,2,1大于 2個數(shù)字,范圍里只有2個數(shù)字,這2個數(shù)字之間的值查詢整個數(shù)組卻找出來3個,說明這2個數(shù)字之間必有重復(fù)

再縮小范圍到1個數(shù)字,取下標(biāo)1作為中間下標(biāo), 查詢下標(biāo)1的值在數(shù)組里重復(fù)的次數(shù),2,2結(jié)果是2,那么下標(biāo)1的值就是重復(fù)的值,輸出2,程序結(jié)束

算法實現(xiàn):?

countRange會被調(diào)用O(logn)次,每次需O(n)時間,總時間復(fù)雜度為O(nlogn)


開始學(xué)算法(刷算法題)過程記錄 2的評論 (共 條)

分享到微博請遵守國家法律
北宁市| 萨迦县| 新干县| 菏泽市| 将乐县| 镇安县| 凤城市| 波密县| 原阳县| 和田县| 兰西县| 桦南县| 资中县| 乌苏市| 怀来县| 太湖县| 许昌市| 太白县| 调兵山市| 丹巴县| 视频| 农安县| 海阳市| 晋城| 博客| 申扎县| 简阳市| 壤塘县| 理塘县| 萨迦县| 泾源县| 荔波县| 浦北县| 宜章县| 大连市| 浦县| 巢湖市| 昔阳县| 格尔木市| 榕江县| 上虞市|