該題如下描述:
有101個數,為[1,100]之間的數,其中乙個數是重複的,如何尋找這個重複的數,其時間複雜度和空間複雜度是多少?
本人在讀了這道題後,頓感驚訝……不可能這麼簡單哦!難道我**想錯了?
困惑之下寫出我自己想法,希望各位朋友一起討論一下。如果各位發現我**想錯了,請指出一下,感謝!
解決思路:
1)如果題中的「數」指整數,那這道題,我覺得太簡單了。
直接把這101 個數相加求出累計和s1;再求出1+2+3+...+100的和s2,然後直接s1-s2就能得出這個重複數是多少。
時間複雜度應該是n,空間複雜度應該是1
2)如果題中的「數」指實數,那也比較簡單。
a思路:直接來個二重迴圈,就能找出來了。如此的話,時間複雜度:n的二次方,空間複雜度:1
b思路:先排序,再來個一重迴圈。排序如果用快速或歸併之類的,則整個時間複雜度為n(logn),空間複雜度為:n
正確答案如何,我就不敢確定了。
百度一面總結
q1 簡單介紹一下你的第乙個專案吧?q3 nginx是用來做伺服器還是後端還有機器?是用什麼搭建的?q4 如果varnish重啟的話會出現什麼情況?varnish基於記憶體進行快取,重啟後資料將消失 varnish程序一旦掛起 崩潰或者重啟,快取資料都會從記憶體中完全釋放,此時所有請求都會傳送到後端...
百度一面C
自我介紹 c 基礎 1.說一下c c 中static作用 2.說一說虛函式,實現機制,作用 3.類的記憶體方式 4.stl,用過哪些,vector,queue,map,set。map的底層實現,紅黑樹自旋轉 不會 專案介紹乙個最能體現你能力的專案 多執行緒 為什麼用,遇到什麼難題,有沒有解決方案 m...
百度一面 二面 總結
首先自我介紹 1 專案 專案背景 技術 架構 為什麼做這兩個專案 專案實現了什麼?專案問的比較細 問了好多,優化呀,改進呀,借助第三方模組幹了啥?具體 具體 再具體,當時怎麼想的 怎麼設計的 進行測試沒?能實現多強的功能?2 問我雜湊,雜湊衝突,雜湊的底層實現,雜湊衝突的處理辦法,有幾種方法,每種方...