1. 程式人生 > >自己整理的一些有用的文章連結

自己整理的一些有用的文章連結

1.  英語學習網站:

2.   刪除二叉樹的節點

3.  大數乘法之multiplication using a rectangle

4. 第十八章  每個人都應該知道的成功祕密

5.  百度面試題3

6. 我對研發工程師的職業前途的一點個人看法

7. 找尋二叉樹中兩個節點的公共父節點中最近的那個節點

9. 程式設計師面試題精選100題(35)-找出兩個連結串列的第一個公共結點

10.   程式設計師面試題精選100題(28)-字串的排列

12.海詞:一個很好的線上翻譯軟體

13. 5.4  效能優化的多方探討

14.一個演算法題 :給定一個二叉樹(共n個節點),求其中k(k >= 2)個節點的最近公共祖先節點。每個節點只有左右孩子指標,沒有父指標。

15. n個數找出第k大小的數,並輸出位置(百度筆試題

16. 程式設計師面試題精選100題(35)-找出兩個連結串列的第一個公共結點

17. string to int

18. 面試題 - 原地倒轉字串

19.  判斷陣列中是否有重複元素

一個數組,下標從0到n,元素為[0,n]的整數

請寫個函式判斷其中是否有重複元素。

要求空間複雜度O(1),時間複雜度O(n)

 
本地收藏夾百度收藏QQ收藏Google書籤Del.icio.us豆瓣校內網Digg雅虎收藏365KEY樂收Twitter更多...判斷陣列中是否有重複元素
1):設f(n)=0^1^2^...^n^a[0]^...^a[n]
判斷f(n)是否為0,如果不為0肯定有至少一個重複的元素
2): 又來一個解法,從0開始,如果a[0]=x,那麼將x放在a[x]中(放進去之前進行一次比較),原來的a[x]為y的話,就將y元素放在a[y]裡,就這麼一直下去,每一次這麼做的時候進行一下是否相等的比較,如果遇到相等則有重複,如果一直到了n步仍然沒有重複,則就沒有重複的元素