今天成績出來,省一,也不枉刷了這麼多題(3月28更)
去年參加了第九屆藍橋杯,沒有系統的學習,當時只知道深度搜索(剛好那年出了一道),挺多不會的最後拿了省三
今年比賽前大概的刷了70+的題目吧,也有系統的去學算法知識和數據結構,比賽做題給我感覺就是比年容易了哈哈哈,可能自己進步了
希望可以拿個省一,不管結果如何,我都要將算法學習放一放的,爲實習做準備了
總結一下做題的情況,以下的思路不一定對的,僅爲個人的做題思路
題目
第一題
一共有二十個籃球選手,根據每位選手打1 - 5號位的評分表現,選出5個選手,使評分結果最高
熱身送分題,在草稿上寫一遍就出來結果了,記得我的答案是490
第二題
求子串,測試用例是aaab,一共有7個(好像)不同的子串,最後要求一個由01組成字符串的子串
直接雙重for循環暴力所有的結果,加進HashSet中,最後輸出HashSet的size,100
第三題
求前三個斐波那契數列,就是fn = fn-1 + fn-2 + fn-2,求f20190324的後4位
一開始我是用BigIntger,發現這個大數都爆了(第一次見),就放棄了,後來做完迷宮之後倒回來想到其實4位之前的數可以不要的,所有每次的結果%10000,答案好像是4659(不記得了)
第四題
用三個整數加起來等於2019,都是三個數整都不能包含x、y(不記得是啥了,不影響思路),問有多少種情況
一開始是我開2019 + 1大小的數組,將不含有下標x、y的設爲1,具體方法就是先轉String,用String的contains方法判斷
因爲是填空題,直接三重for循環,輸出結果忘了只記得是五位數
第五題
迷宮最短路徑,UDLR分別代表上下左右,輸出最短的走法,有多種答案則輸出最小字典序
一看到迷宮最短路徑,直接開始BFS(不會的看我博客嘻嘻,用Java實現迷宮最短路徑算法),走的時候記錄方向,因爲是最小字典序,所以要用貪心,走的順序是DLRU,走過之後就不能繼續走了,就是不能加入隊列
第六題
1 - n中含有2 0 1 9數字的整數數量
從這裏開始就是編程題了,第一道編程題還是很容易的,直接轉String,用contains方法判斷
第七題
一串文本中找Alice和Bob,區分大小寫,Alice和Bob之間的字符不超過K,問有多少對
我先是將“,”和“.”用空格代替,這樣用String方法中的indexOf(“ Alice ”,“”)就不需要區分後綴是逗號還是句號的問題(這裏還要去掉感嘆號,問號,不過我當時沒有想到,大意了),之後就簡單了,直接找就可以了
第八題
餓了麼,優先級一開始爲0,每過單位時間優先級-1,此時有訂單不減,反而+2,最低爲0,不能是負數,當優先級爲5以上時爲X狀態(忘了),小於3才離開X狀態,問經過t單位時間之後,有多少人在X狀態
我是直接模擬,不知有沒有更快的方法
第九題
後綴表達式
有n個加號,m個減號,n + m + 1個整數,輸出最大的結果運算
當時想不起來後綴表達式是什麼意思,所以我就是貪心,用sort排序,將最大的加在一起,減去最小的幾個,我覺得不對,25分題不會這麼簡單吧。
第十題
沒時間做了,但是我發現我做過類似的,有點可惜