2019年第十屆藍橋杯個人解析(JavaB組省賽)

今天成績出來,省一,也不枉刷了這麼多題(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分題不會這麼簡單吧。

第十題

沒時間做了,但是我發現我做過類似的,有點可惜

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章