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分题不会这么简单吧。

第十题

没时间做了,但是我发现我做过类似的,有点可惜

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