杭电1108java_按照这个步骤来刷题,迷茫的你两个月亦能成为王者
原標題:按照這個步驟來刷題,迷茫的你兩個月亦能成為王者
作者 | bigsai
來源 | bigsai(ID:bigsai)
前言
大家好,我是bigsai哥哥。最近很多小伙伴問我怎么入門數據結構與算法,又或者怎么刷題,很多人也說自己挺迷茫的。今天結合個人直接和間接經驗給大家一套從頭到尾的建議。當然,本建議如果ACM大佬看到勿噴哈,更建議開發方向的人走這條路。
如果你是大一,學好語言基礎就可以走這條路,如果你是大二,那剛好這條路挺適合你的,如果你是大三,那你最好加速挑選其中精華去完成,如果你是工作或者其他想提升自己,那這是一條很好的路。
青銅白銀(15天)
一步一個腳印,就算他是王者,也曾從青銅一步步爬起。并且咱們青銅并沒有王者的壓力,咱們啥都不懂,啥都只能摸索,如果找不到好的道路確實可能一直青銅很久(哈哈哈你是不是一直青銅呢)。讓我們看看如何突破青銅白銀呢?
入門需要哪些語言基礎呢?
輸入輸出、多次輸入、if、for循環、數組、字符串等+簡單邏輯。
真的這么多就夠了嗎?真的,這個階段目的就是有能力處理簡單邏輯問題。
刷多少題呢?在哪刷呢?這里給你推薦兩個地方。
第一個地方:c語言網 (適合青銅)
c語言網特別適合小小白,前面的題目比較簡單特別適合入門。適合小白中的小白入門,享受ac的感覺。
第二個地方 杭電第11頁(更推薦適合青銅強和白銀)
這里的題目都是記憶。更適合大家入門了。當然,杭電第11頁有100題,沒必要刷那么多題,可以挑著簡單普通的刷一刷。
這個階段大概要刷多少題,需要多久呢?
不宜太久,主要看自己掌握程度,推薦1—2周這樣。當然每天花費時間不同這個周期也不同, 刷題量保證在40題左右,如果感覺比較容易可以適當減少。總有那么多天賦好的能輕松脫離青銅白銀打上黃金的也沒辦法對吧。
當然,在這個階段,可能很多老鐵感覺比較難受,因為第一次用計算機的思維去思考問題,可能感覺比較難,但是聽我一句:**挺下去,就好,總能過去的!**可能一道題會花你很久,你可能很難下手,可以嘗試看別人的代碼,看看別人的思路。
黃金鉑金(15天)
這階段在青銅眼里是大佬,在鉆石星耀以上眼中還是小白。這個階段就不是簡單邏輯了,而是涉及一些算法和邏輯。需要認真考慮思考。
這個階段需要掌握的內容有:Java的List、Map、Set、StringBuilder、Java的api調用排序、類排序(comparator接口)、鏈表、簡單貪心、遞歸、入門級dp(最多來個暴力)等。
這個部分主要還是鍛煉邏輯, 讓自己有能力處理正常邏輯不太復雜的問題,提高自己的動手和code能力。讓你有一種能力是見啥都想暴力一下求出來的想法。
當然這個階段也給大家推薦兩個刷題地方:
牛客pat乙級專欄
這里推薦pat乙級的專欄。不是因為pat乙級有多難,而是pat乙級很多處理字符串問題挺需要思考和邏輯的。這個過程讓你編碼能力和邏輯能力提升還是很強的,因為我們經常可能真正會遇到一些字符處理,我們需要具備這方面的能力。不推薦去PTA官方刷刷完牛客乙級30題其實就差不多了。這部分可能很多人比較堅辛。
我和室友等很多人在剛刷很多時候可能半天都不能能做一道題,所以前期遇到困難別放棄,一定要刷完這30題。這里15分題比較簡單,20分一般,25分通常不難但是比較復雜,你懂的,就是那種很麻煩讓你不想動的,但是別偷懶。
杭電部分題目(適合鉑金玩家)
一.字符串我要會處理(2天,6題)
2072、2081、2093、2091、1004、2057
二.簡單數學題(4天,12題)
2031、2033、2070、2071、2075、2089、2090、2092、2096—2099
三.要玩就玩漢諾塔(3天,5題)
1995、1996、2064、2077、2175
四.As easy as math(5天,8題)
1108、2138、1713、1722、2136、2504、1717、1125
參考自671大佬的整理,當初筆者就是按照這個步驟進行刷的,有些題目挺鍛煉思維,更燒腦一點點,但整體難度還好。
鉆石星耀(30天)
這部分是算法的進階提升階段,可能你經過這階段節能上和acm大佬說兩句話,下在小白面前裝裝大佬。
這部分需要掌握的內容比較多,我給一些經常遇到的羅列一下:貪心算法,回溯算法,dfs,bfs,dp,分治算法,部分數論算法(快速冪、歐幾里得、拓展歐幾里得最多了),全排列,快排,歸并排序,偶爾kmp或者母函數。而數據結構則要求掌握各種鏈表操作、二叉樹各種操作,二叉樹各種遍歷(涉及部分操作)。并查集。
這里我也給大家推薦兩個刷題地方
杭電部分題(鉆石用戶)
這些題自己曾經都刷過,選了一些感覺質量很好,但我參考了很多大佬做法才ac的,現在把這些題分享給大家。這里多組輸入java快速輸入要了解一下。
按照專題進行刷題:
貪心小欄目:
1008,1009,2037
dp專欄:
1003,1024,1025,1069,1071,1176,1203,1231,1257,1421,2084
迷宮搜索專欄:
1181(多法),1010,1010,1016,1043,1044,1072,1172,1180,1195,1241,1254,1431,1728
并查集:
1181,1232,1272,1325,1722
其他題(試水體驗):
1007分治 2035,1097 快速冪 1686,1711kmp 1002大數 2138素數篩 1061,576拓展歐幾里得
劍指offer精過 (星耀用戶)更推薦
劍指offer67題,題目質量很高,面試問的也很多,出了一些算法 數據結構要求比較高,所以刷劍指offer需要提前有數據結構基礎。并且劍指offer對方法優化的要求很高,所以通過刷劍指offer可以提高自己對時間復雜度的優化和方法的優化,而杭電可能更注重算法實現上。認真優質刷完劍指offer對自己提升很高。
王者
何謂王者?當以持之以恒,acm大佬可以選擇牛客比賽、vjudge、codeforce,atcoder 等比較有名地方打打比賽或者按照專題刷題鞏固。但我還是推薦我的 LeetCode。對于開發者來說,力扣是持續陪伴的好伙伴,從陌生到熟悉,而其中題目數量很多,質量也很高,刷透的話無論面試,筆試都不在話下。
所以我心中的王者就是 LeetCode+持之以恒。
總結
以上是生活随笔為你收集整理的杭电1108java_按照这个步骤来刷题,迷茫的你两个月亦能成为王者的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 吴恩达 coursera AI 专项三第
- 下一篇: 吴恩达 coursera AI 专项三第