有人沒事兒玩Hackerrank網站都拿到多高的rank了?

最近因為面試才發現現在有個網站可以玩編程演算法。都不需要配置任何編譯開發環境 就可以直接開始寫演算法,函數一類的挑戰題目。

聽說過,玩過,正在玩Hackerrank的盆友來聊聊你們拿了多高的rank? 有沒有啥有趣的事情?


目前刷演算法Archive problems的飄過。

之前刷完LeetCode,手賤想刷點更難的,於是在眾多刷題站里發現了HackerRank,非常喜歡,個人感覺HackerRank是刷完LeetCode之後還想繼續深入學習演算法最好的刷題站。演算法題目難度比LC難不少,應該是競賽初級到中級的水平,難但不變態,就算是G的面試題難度也不會超過mediumdifficult了。有些面試超綱的內容,比如三維DP,網路流等等永遠不會被面試官問到的內容。有純學習性質的題,比如你新學來的一個演算法,直接套上去就ok,刷題曲線不會特別陡。

一些亮點:

- 排名系統很讓人慾罷不能,每刷完一題會得到相應的分數,右上角可以看到你當前的刷題排名,有超車的快感和成就感哦。Algorithm domain最近又出了一個ranking progress,像打怪升級遊戲,非常過癮。

- 可以用你刷題賺來的Hackos去買每一個test case,方便單獨調試

- 實在卡殼,可以去編輯區(Editorial)看講解。不過不是每一個題都有。

- 支持的語言非常多,截至2016年4月6日,有45種,其中竟然還有Brackf**k

- 涉及面遠不止數據結構和演算法,AI,FP,Shell等等應有盡有

- 經常有比賽,不過還沒有參加過

- 和一些IT公司有很好的合作,比如目前就有些公司拿它當面試coding平台。

當然也有一些不足的地方:

- 框架用Ruby on Rails寫成,所以稍微有些慢,但是可以接受

- 有些問題的描述不是很清晰,經常有人看不懂,常看到大家在討論區抱怨

一些八卦:

- HackerRank是印度人的startup

- Crack the Coding Interview的作者Gayle Laakmann McDowell自己講她目前有一半的時間都在HackerRank灣區的辦公室工作,類似於合伙人性質的角色

其實一開始刷題也只是想搞定面試,但是慢慢就刷上癮了,也看過劉汝佳的黑書什麼的,經常跪倒在裡面的「顯然」半天起不來,自覺離大神太遙遠,只能對書興嘆,此外很多OJ界面又過於簡單,錯了就只有「Wrong Answer」「TLE」之類的,這中間的gap太大。HackerRank在這個gap上搭了一個很好的梯子,本人目前還在費力但happy地爬著,學到了很多。

非廣告貼。


發廢話不如上圖。@樓上所有人


沒刷演算法題,在刷sql的題目,現在還剩最後一道 『15 Days of Learning SQL沒想明白怎麼做。rank 219


HR的用戶體驗,是所有OJ Base的網站里做的最好的。也是我們學習的榜樣。

HR的題目難度,完全是競賽級的,LC不可同日而語。

參加HR比賽的人,很多是競賽圈的頂尖選手(除了俄羅斯及白俄羅斯的幾位不常來)。

他那個刷題排名確實比較有吸引力,促使你想不斷刷題提高Rank,前兩年我也刷過幾個單項的。不過HR的數據結構題比較簡單,或說未能跟上潮流吧,必須技能好像只限到splay,點分治,各種可持久的數據結構似乎未遇到。像我這種數據結構很弱的,都曾刷進過前5。

相比之下HR的數學題偏難,常有緊跟時代的黑科技,比如FFT做的線性遞推,梅滕斯那套n^(2/3)的系列。並且很多人會去刷這個數學的Rank,曾經只差某幾道題沒做,大概也只在rank 10左右,懷疑有幾位刷滿的,但由於不知道排名靠前的幾人是誰,也沒有追趕的動力,因為你很難想像uwi這樣的選手會去刷這個rank。

如果說HR有什麼用起來不那麼舒服的地方,就是國內訪問太慢了,經常要刷多次,有時你常常會想,如果HR在中國有伺服器該多好!

那麼問題來了,國內哪個OJ同HR最像呢?嗯,當然是51nod了!嘿嘿!HR的員工們也常來51nod玩的。(猝不及防的硬廣)

最後,聽說HR快要開始做中國市場了。


道理都懂,但是刷題簡單的有codewars,難一點有leetcode,再難推競賽有各種oj,這麼早就說支持這個網站會不會有種欽定…


最近在做python domain,之前也做過一些algorithm domain的題。

個人感覺是介於codeforces和leetcode之間的一個刷題網站。

1. 網站的體驗要優於leetcode,雖然不時會卡頓。

2. 題目分類,比較方便有目標的提升。

3. 題目的難度要高於要一般面試題的難度(個人感覺)。


總體來講,體驗還是很不錯的,但是感覺有些偏,要簡單的特別簡單,要難的又比較偏。

但是你們都說好,我就要說說它令我不爽的一些地方。

1。有些題目wording不好,非常ambiguous,長篇大論不著重點,有些ambiguous的要求要通過打開test case才能反應過來。我非常不喜歡有些不是big number但是有big number作為test case的題,很噁心,要做無謂的類型轉換,這種題目專門出成big number的題我一點意見都沒有。但是不要忘了初衷是測試一個developer能不能寫出generic的演算法,只要演算法是generic的,換成什麼類型的數據都行。這無謂增加繁雜度的test cases可以少一點。

2。不要做他們的sorting題,他們的sorting題需要掰開揉碎,每步列印,是給純新手的tutorial,限定條件很不明確,有些時候選擇pivot的位置不同,或者最後一步swap的順序不同,或者先遞歸上界下界的順序不同,都有可能使step print不同於他們的print,出現最後array是sorted但是不判對的情況,如何評價這種題目,我個人認為就是有病!不要做。

3。應該加入assertion和對C/C++語言加入清內存的步驟,有內存泄漏要相應扣分,這樣才能通過這些訓練題提高C/C++的編程質量。


建議去discussion看看有什麼更高效的方法。

不同語言時限不同。


最近刷了一個月的hackerrank的演算法題,演算法排名300多了。也對比了下其他類似網站,感覺整體上hackerrank的用戶體驗要好的多。第一,題目分類比較細緻,主題清楚。每道題都有成功率。第二,排名系統有成就感,可以不停升級。可以按國別,語言過濾排名。第三,支持的語言很多很多,感覺無所不包。第四,每次代碼提交和案例測試結果都有記錄,很方便。案例可以單獨購買,有助於查錯和測試。此外,題目難度個人感覺還是有的,50分以上的題都要一定時間才行。

另外,有同好的話可以加個好友互相討論^_^


HR體驗非常好. 刷的上癮, 特別喜歡看通過test時的一片小綠對號. 去年3月4月刷, 演算法最高60名.數學40名. 後來基本沒刷排名掉到100了. 最近在刷leetcode. 本來以為以我HR排名100的水平刷LC會很輕鬆, 但是並沒有。還是有好多題不會做。 現在LC做了300題, 衝擊400中。 所以最近刷LC進步也很大。有空了再去HR,看看能提高到多少。


推薦閱讀:

WC2018 即時戰略
數據結構: B+Tree及其應用
Leetcode之旅|刪除鏈表中重複元素
時間複雜度和空間複雜度
數據結構: B-Tree 簡介及插入

TAG:演算法 | 編程 | 黑客Hacker | 演算法與數據結構 |