1. 程式人生 > >c++刷題網站

c++刷題網站

Welcome To PKU JudgeOnline 北京大學的Online Judge。POJ上面的題目有點老了,但好處是做的人多,經典演算法題多,解題報告也多,適合上手。

- ZOJ : Home 浙江大學的Online Judge。ZOJ用的不多,但為數不多的幾次體驗好像都還可以,值得嘗試。

- Welcome to Hangzhou Dianzi University Online Judge 杭州電子科技大學的OJ。杭電OJ在近幾年取代了POJ,成為是目前國內最主流的OJ。它的題目豐富,難度梯度合理,廣受全國各大高校的青睞。每年也會有大大小小的比賽掛在杭電的OJ上舉辦,去年的亞洲區網路賽也是在這上面做的。由此可見其在國內廣大ACMer心目中的地位。也正因為如此,網上hdu的解題報告也很多,適合個人進階訓練。

- UVa Online Judge 西班牙Valladolid大學的Online Judge。是最古老也是全世界最知名的Online Judge,題庫有詳細的分類:如世界總決賽題目,劉汝佳的題目等等。題目目型別非常廣泛。絕大部分的題目難度偏易,適合初學者磨練程式設計。

- Timus Online Judge URAL是一個俄羅斯的線上題庫。裡面的題目相比國內一些OJ來說頗有些難度,我們學校集訓隊老隊員喜歡拿這裡的題出給新隊員做,可見有一定的進階作用。

- Sphere Online Judge (SPOJ) SPOJ是波蘭最為出色的Online Judge之一,介面和諧,題目型別也非常豐富,適合有一定基礎的選手練習,對高手而言也是個提高能力的良好平臺。更多介紹見部落格:SPOJ簡介 - 海山。

- USA Computing Olympiad USACO是美國中學生的官方競賽網站、美國著名線上題庫,專門為資訊學競賽選手準備;做題方式模擬正式比賽,採用標準測評機、檔案輸入輸出、直接提交程式原始檔的測評方式;網站的Training題目全面,是學習資訊學不可不知的網站,每年NOI,NOIP 都會參考上面的題目;每道題附有詳細題解,可檢視測試資料和執行結果,便於除錯、發現錯誤並改正。
採用章節遞進的層次結構,由易到難,講授知識、練習程式設計結合,題目必須依次完成,避免了只挑簡單題做的行為;各章節猶如一本競賽輔導書,形成了一個鮮明的知識結構,利於OI初學者和高手逐步提高水平,充分學習資訊學各方面知識,避免偏頗。(來源:usaco_百度百科)

- Saratov State University :: Online Contester 之前上SGU一直是404,所以不敢貼上來。現在親測能上了就也放上來給大家看看吧。這個是貨真價實的樓教主刷完的OJ。樓教主為什麼要刷這個OJ而不刷這個回答裡的其他OJ呢?因為這個OJ確實適合提升水平,應該跟Ural, SPOJ的難度相當。另外就不太瞭解了,在我心目中,SGU, Ural, SPOJ都適合區域賽衝金以及畢業想去Google等頂級公司的ACMer/Coder訓練,三者區別不大。

- Codeforces Codefores是俄羅斯的一個演算法競賽網站,由 Saratov State University 創辦和維護。Codeforces主要強調的是演算法競賽,每隔1個禮拜左右就會有定期的線上比賽舉行,其題庫也是由每場比賽的題目一場場積累下來的。相比上面幾個以題庫為核心的OJ,Codeforces的演算法競賽比較適合鍛鍊自己的臨場發揮和壓力下程式設計能力。

- HUSTOJ 華中科技大學的Online Judge。hustOJ也和主流的其他OJ一樣有著豐富的題庫。但它主要的用處,是它所提供的這麼一個叫做vjudge的東西,全稱叫做Virtual Judge。通過vjudge,你可以從各大OJ、包括但不限於上述的所有OJ中直接抽取題目,利用這些題目建立一個屬於你自己的比賽。非常適合專題訓練、日常集訓以及小夥伴們一起比賽切題玩。

- LeetCode Online Judge 與很多OJ不同,leetcode是一個主要面向面試者的OJ (LeetCode OJ is a platform for preparing technical coding interviews)。上面的題目不多,目前只有152道,很多都是許多大公司的面試題目。題目型別偏基礎,基本不會考察複雜的演算法,很多都是對基礎知識的應用,難度與topcoder div1 250或codeforces div1 A題難度相當。如果是希望練習程式設計基礎或準備公司面試的話非常推薦此OJ(感謝室友/集訓隊大神/CMU準碩士 @yun peng 同學提供Leetcode介紹 (1/1/2015更新:室友拿了google的offer不去CMU了))。

- 大視野線上測評·歡迎您 感謝評論區 @秋長澤建議,新增BZOJ。


1Codility

同樣一家著名的國外刷題網站。和Leetcode不同,它是專門幫各大軟體公司筆試用的,只是副業提供了一些面試題和挑戰。但即使是訓練模式都非常經典,很值得一做。而且測試資料集提供的非常完善,總能讓你有想不到的邊界情況。Take our free programming lessons

特點:很接近面試題的風格,訓練模式也基本夠用。


2Lintcode

可以稱作中文版本的Leetcode,個人感覺最高難度比Leetcode高一些。這兩個類似的網站,可以配套來刷。每個刷一遍,也能保持新鮮感。

特點:中文支援很好,和Leetcode有一部分題類似,可以和九章演算法課程配合使用。


3Hihocoder

來自於原北京大學POJ開發團隊,網站一直在進步。最早是微軟的線上筆試網站,現在網易也使用它進行線上筆試。題目側重於較難題目,風格很像ACM比賽,要自己注意資料集的輸入輸出。

特點:每週一道演算法題極難又有趣,可以用來擴充套件面試題思路。而且是網易、微軟的線上筆試網站,有機會需要多練習。


4CC150

這不是網站,這是一本書。全稱Cracking the coding interview,是國外找工作的神書,而且的確寫的很好。裡面除了演算法題,還有計算機基礎知識等內容,很不錯。適合想去外企的人仔細閱讀,而且最新版已經比150題多了。總之,外企必備!

特點:外企必備!外企必備!外企必備!想去外企的人,多看看書的配套答案也是好的




結論:
 

最後,經過公眾號作者小分隊的討論,根據不同方向的工作,我們建議按照以下方式刷題:

國企、銀行、科研單位

Leetcode簡單、中等難度最好刷一遍,有時間再過一遍思路。

創業公司

Leetcode全部難度上機刷一遍,然後把不會的題紙上在重新寫一下。

國內網際網路

Leetcode全部難度上機刷一遍,紙上再寫一遍。同時儘量涉及難度較高的平臺(Codility),或者多去幾家公司面試,以賽代練。

國內外企

Leetcode至少全難度刷一遍,CC150紙上寫一遍。想提高Microsoft/Google等線上筆試通過率的,多去玩玩Hihocoder等線上筆試平臺。

外企總部

Leetcode困難程度爛熟於心,儘量達到ACM入門標準,甚至稍高一點比較有把握。

相關推薦

國內C/C++網站彙總

- Welcome To PKU JudgeOnline 北京大學的Online Judge。POJ上面的題目有點老了,但好處是做的人多,經典演算法題多,解題報告也多,適合上手。 - ZOJ : Home 浙江大學的Online Judge。ZOJ用的不多,但為數不多的幾次體驗好像都還可以,值得嘗試。 - W

c++網站

Welcome To PKU JudgeOnline 北京大學的Online Judge。POJ上面的題目有點老了,但好處是做的人多,經典演算法題多,解題報告也多,適合上手。 - ZOJ : Home 浙江大學的Online Judge。ZOJ用的不多,但為數不多的幾次體驗好

C++幾個適合的OJ網站

RQNOJ,VIJOS 這兩個還比較基本,題目也是中文的 對於準備NOI或者省選的話,BZOJ是不錯的 ACM什麼的,最好就做POJ,SGU,Codeforces等題庫,這些都是英文的

C++經驗

成員 cout 小數位 格式控制 flags point color 小數點 idt cout輸出流------格式控制符 他們在#include <iomanip>頭文件中 setprecision(n)與setiosflags(ios::fixed)合用,可

C記錄-1011

輸出 ++ main can pro clu 公約數 multipl panel 題目描述 輸入兩個正整數m和n,求其最大公約數和最小公倍數。 輸入 兩個整數 輸出 最大公約數,最小公倍數 樣例輸入 5 7 樣例輸出 1 35 1 #includ

C記錄-1014

for lld col 輸出 刷題 stdio.h panel 一個數 輸入 題目描述 求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一個數字(n不超過20)。 輸入 n 輸出 Sn的值 樣例輸入 5 樣例輸出 153

C記錄-1015

code 1.0 輸入 urn printf clas sam 記錄 rec 題目描述 求以下三數的和,保留2位小數 1~a之和 1~b的平方和 1~c的倒數和 輸入 a b c 輸出 1+2+...+a + 1^2+2^2+...+b^2 + 1/1+1/2+.

C記錄-1017

amp math.h data span sample ane == can 刷題記錄 題目描述 一個數如果恰好等於不包含它本身所有因子之和,這個數就稱為"完數"。 例如,6的因子為1、2、3,而6=1+2+3,因此6是"完數"。 編程序找出N之內的所有完數,並按下面格

C記錄-1019

++ pri 每次 三次 n) += for nbsp 高度 題目描述 一球從M米高度自由下落,每次落地後返回原高度的一半,再落下。 它在第N次落地時反彈多高?共經過多少米? 保留兩位小數 輸入 M N 輸出 它在第N次落地時反彈多高?共經過多少米? 保留兩位小數

c++(3/100)數獨,棧和隊列

彈出 iter char col 編寫 實現 滑動窗口 title 表示 stack的基本操作 ? s.size():返回棧中的元素數量 ? s.empty():判斷棧是否為空,返回true或false ? s.push(元素):返回對棧頂部“元素”的可變(可修改)引用 ?

c++(15/100)矩陣轉置,最深子樹

標記 i++ con 結果 最短 網上 矩陣的轉置 alloc tree 題目一:矩陣轉置 給定一個矩陣 A, 返回 A 的轉置矩陣。 矩陣的轉置是指將矩陣的主對角線翻轉,交換矩陣的行索引與列索引。 示例 1: 輸入:[[1,2,3],[4,5,6],[7,8,9]]

c++(21/100)樹的打印、矩陣覆蓋和括號生成

生成 一個 ring 第一個 pop 全局 over 矩形 node 題目一:把二叉樹打印成多行 從上到下按層打印二叉樹,同一層結點從左至右輸出。每一層輸出一行。 思路:一開始以為2維的vector可以直接訪問,但是試了是不行,會報錯,vector在有值之前不能直接訪問,所

程式設計師常用的網站(2)

在五個月之前寫了篇文章 程式設計師常用的技術網站 | 轉眼間五個月過去了。五個月後的今天我打算寫一篇程式設計師常用的刷題網站。 為什麼要刷題呢? 鞏固提高自己的基礎程式設計知識水平 增加面試過程中的自信心 幸運的是:很多時候面試筆試題目你刷過

程式設計師常用的網站(1)

1、Lintcode Lintcode.com——LintCode網站是國內較大的線上程式設計&測評網站。此網站提供各大IT公司的演算法面試題型別,行分門別類,由簡單到中等,再到難,便於不同水平的程式設計師進行刷題練習。同時網站支援多種語言(Ja

10-29C/C++

1、函式呼叫exec((v1,v2),(v3,v4,v5),v6,v7)中,實參的個數是4個。 解析:逗號運算子(百度百科):在C語言中,多個表示式可以用逗號分開,其中用逗號分開的表示式的值分別結算,但整個表示式的值是最後一個表示式的值。 所以exec((v1,v2), (v3,v4,v5)

10-22C/C++

1、有以下程式(strcpy 為字串賦值函式,strcat為字串連線函式) #include <stdio.h> #include <string.h> main() { char a[10]="abc",b[10]="012",c[10]="xyz"

11-1C/C++

1、對於以下程式碼: char *p=new char[100] p在棧上 new出來的在堆上 動態分配在堆中,其他的記憶體分配都在棧上進行。 2、static char a[2]={‘1’,‘2’,‘3’};說法是都正確? 錯誤 陣列越界 3、在C語言的定義和呼叫中,函式的定義不

C++

劍指Offer系列 賦值運算子函式 描述 為Class新增賦值運算子函式 class C { public: C(char* p) { m_p = p; }; C& operator=(const C &str); char* m_p; }; //a

程式設計師常用的網站

1、Lintcode Lintcode.com——LintCode網站是國內較大的線上程式設計&測評網站。此網站提供各大IT公司的演算法面試題型別,行分門別類,由簡單到中等,再到難,便於不同水平的程式設計師進行刷題練習。同時網站支援多種語言(Java, Py

機器學習,大資料,深度學習 競賽網站,學習網站,演算法網站

資料競賽類網站 Kaggle 阿里巴巴天池大資料比賽 DataCastle CCF大資料與計算智慧大賽 DataFountain Di-Tech演算法大賽 KDD-Cup KDnuggets Competition 全國高校雲端計算應用創