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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

剑指offer 面试3题

發(fā)布時間:2025/7/14 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 剑指offer 面试3题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

面試3題:

題:數(shù)組中重復的數(shù)字

題目:在一個長度為n的數(shù)組里的所有數(shù)字都在0到n-1的范圍內(nèi)。 數(shù)組中某些數(shù)字是重復的,但不知道有幾個數(shù)字是重復的。也不知道每個數(shù)字重復幾次。請找出數(shù)組中任意一個重復的數(shù)字。 例如,如果輸入長度為7的數(shù)組{2,3,1,0,2,5,3},那么對應的輸出是第一個重復的數(shù)字2。

解題思路一:先把輸入數(shù)組排序,然后從排序后的數(shù)組中從前往后找。

解題代碼:

# -*- coding:utf-8 -*- class Solution:# 這里要特別注意~找到任意重復的一個值并賦值到duplication[0]# 函數(shù)返回True/Falsedef duplicate(self, numbers, duplication):# write code hereif numbers==None or len(numbers)<=1:return Falsefor i in range(len(numbers)):if numbers[i]<0 or numbers[i]>len(numbers)-1:return Falsenumbers.sort()for i in range(len(numbers)-1):if numbers[i]==numbers[i+1]:duplication[0]=numbers[i]return Truereturn False

?

解題思路二:使用輔助空間:哈希表。時間復雜度為O(n),空間復雜度為O(n)

解題代碼:

# -*- coding:utf-8 -*- class Solution:# 這里要特別注意~找到任意重復的一個值并賦值到duplication[0]# 函數(shù)返回True/Falsedef duplicate(self, numbers, duplication):# write code hereif numbers==None or len(numbers)<=1:return FalseusedDic=set() #集合for i in range(len(numbers)):if numbers[i]<0 or numbers[i]>len(numbers)-1:return Falseif numbers[i] not in usedDic:usedDic.add(numbers[i])else:duplication[0]=numbers[i]return Truereturn False

?

解題思路三:重排數(shù)組:從頭到尾掃描數(shù)組的每個數(shù)字,當掃描到下標為i的數(shù)字時,首先比較這個數(shù)字(假設為m)是否等于i,如果是,接著掃描下一個數(shù)字;如果不是,那么再將它和下標為m的數(shù)字對比,如果兩者不相等,就把它和第m個數(shù)字交換,把m放到屬于它的位置,如果兩者相等,那么就找到了一個重復的數(shù)字。重復這個過程,知道發(fā)現(xiàn)一個重復的數(shù)字。

解題代碼:(根據(jù)代碼分析復雜度:所有操作都在輸入數(shù)組上進行,不需要額外分配空間,因此空間復雜度為O(1);盡管代碼中有一個兩重循環(huán),但是每個數(shù)字最多只要交換兩次就能找到它自己的位置,因為總的時間復雜度為O(n))

# -*- coding:utf-8 -*- class Solution:# 這里要特別注意~找到任意重復的一個值并賦值到duplication[0]# 函數(shù)返回True/Falsedef duplicate(self, numbers, duplication):# write code hereif numbers==None or len(numbers)<=1:return Falsefor i in range(len(numbers)):if numbers[i]<0 or numbers[i]>len(numbers)-1:return Falsefor i in range(len(numbers)):while (numbers[i]!=i):if numbers[i]==numbers[numbers[i]]:duplication[0]=numbers[i]return Trueelse:temp=numbers[i]numbers[i]=numbers[temp]numbers[temp]=tempreturn False

?

?

拓展:不修改數(shù)組找出重復的數(shù)字。

''' 拓展:不修改數(shù)組找出重復的數(shù)字。 在一個長度為n+1的數(shù)組里的所有數(shù)字都在1~n的范圍內(nèi),所以數(shù)組中至少有一個數(shù)字是重復的。請找出數(shù)組中任意一個重復的數(shù)字, 但不能修改輸入的數(shù)組,例如輸入長度為8的數(shù)組[2,3,5,4,3,2,6,7],那么對應的輸出是重復的數(shù)字為2或3。 '''# 方法一:利用哈希表,時間復雜度O(n),空間復雜度O(n) # 方法二:二分查找的變形,如下,時間復雜度O(nlogn),空間復雜度為O(1)class Solution:def duplicate(self, numbers):# write code hereif not numbers or len(numbers)<=0:return -1start=1end=len(numbers)-1while start<=end:middle=(end-start)//2+startcount=self.countRange(numbers,len(numbers),start,middle)if end==start:if count>1:return startelse:breakif count>middle-start+1:end=middleelse:start=middle+1return -1def countRange(self,numbers,length,start,end):'''計算數(shù)組中的元素大于等于start,小于等于end的元素的個數(shù)'''if not numbers:return 0count=0for i in range(length):if numbers[i]>=start and numbers[i]<=end:count+=1return countif __name__=="__main__":print(Solution().duplicate([2,3,5,4,3,2,6,7]))

?

轉(zhuǎn)載于:https://www.cnblogs.com/yanmk/p/9232144.html

《新程序員》:云原生和全面數(shù)字化實踐50位技術專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的剑指offer 面试3题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美日韩中文字幕一区二区三区 | 久久久在线 | 亚洲自拍中文 | 国产三级一区二区 | 性猛交ⅹxxx富婆video | 欧美日韩综合在线观看 | 台湾佬美性中文娱乐网 | 日韩一区二区不卡 | 91网视频| 97久久免费视频 | 午夜免费毛片 | 妖精视频在线观看免费 | 99re国产在线 | 精东传媒在线 | 天天摸天天 | 荒岛淫众女h文小说 | 成人综合激情 | 国产aⅴ精品一区二区果冻 台湾性生生活1 | 欧美精品一级在线观看 | 国产丝袜视频在线 | 性一级视频 | 亚洲无码一区二区三区 | 九九在线观看视频 | 伊人av影院 | 免费看成人啪啪 | 亚洲涩视频 | 一级视频在线 | 国产激情视频在线观看 | 极品尤物一区二区三区 | 88xx成人永久免费观看 | 葵司免费一区二区三区四区五区 | 色成人亚洲 | 日本在线视频一区二区三区 | 污视频在线观看免费 | 欧美xxxx黑人xyx性爽 | 亚洲高清精品视频 | 91精品视频在线 | 国产成人在线免费观看视频 | 人妻互换免费中文字幕 | 黄色片网站免费在线观看 | 超碰人人在线观看 | 亚洲无码国产精品 | 在线观看亚洲a | 最新天堂中文在线 | 手机福利视频 | 嫩草av在线 | 色婷婷综合久久久久中文一区二区 | 男女视频国产 | 日韩av在线第一页 | 色偷偷五月天 | 亚洲成a人无码 | 精品国产人妻一区二区三区 | 每日在线更新av | 四虎在线免费观看视频 | 美女福利在线视频 | 久久久久久久久久久影视 | av免费大片 | 亚洲高清资源 | www色亚洲| 中文字幕一区二区在线老色批影视 | 男女猛烈无遮挡 | av在线免费观看网站 | 黄色免费片 | 久久激情综合网 | 手机看片国产日韩 | 少妇在线视频 | 精品国产乱码久久久久久郑州公司 | 中文字幕第35页 | 天天看片天天干 | 国产成人久久777777 | 在线免费a视频 | 亚洲激情视频 | 青草视频网 | 欧美日韩在线视频免费 | 夜夜天天干 | 色窝窝无码一区二区三区 | 黄色日皮视频 | 欧美亚韩一区二区三区 | 国产91精选 | 艳妇臀荡乳欲伦交换电影 | 男人天堂成人 | 我和我的太阳泰剧在线观看泰剧 | 欧美亚洲日本在线 | 国精产品一品二品国精品69xx | 亚洲精品免费观看 | 精品久久久影院 | 久久久久人妻一道无码AV | 五月婷婷七月丁香 | 国产精品三级电影 | 天堂av最新网址 | 久久人体视频 | 久久国产精品亚洲 | 中国a一片一级一片 | 夜夜骑狠狠干 | 婷婷精品视频 | 欧美老熟妇一区二区三区 | 九九热免费在线 | 色播五月综合 | 国产精品无码久久久久久 |