| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 2022年第十三届蓝桥杯省赛Java B组(部分) -> 正文阅读 |
|
[数据结构与算法]2022年第十三届蓝桥杯省赛Java B组(部分) |
作者:recommend-item-box type_blog clearfix |
2022年第十三届蓝桥杯省赛Java B组第一题:星期计算暴力计算即可
第二题:山这道题写出回文和满足左半单调不减即可(因为如果是回文,那如果左边单调不减,右边肯定单调不增),只是可能要稍微考虑长度为奇或偶的中间取值
第三题:字统计遍历的时候把相同字母的次数加上,然后在此过程中更新最大值即可。
第四题:最少刷题数这道题是一道看起来不难但是陷阱重重的题,我们首先看下数据规模,对于100%的数据,N是十万级别,所以我们的时间复杂度不能超过O(nlogn),如果为O( n 2 n^2 n2)则会超时。 然后这题没有说数字不能重复,所以我们还要考虑数字重复问题,还要考虑中间值问题,因为为我们的要求是每个学生只要还要再刷多少道题,所以我们肯定是要求出排完序后中间值,对于中间值就要考虑奇偶,上取整还是下取整。我这里是上取整为例 这里思路主要参考2022 十三届蓝桥杯 JavaB组省赛 个人题解这位大佬的。 整理后,我的思路是,先创一个数组 然后开始判断
接下来就是代码实现了
第五题:求阶乘这道题主要是要知道满足位数为0,只能是2乘上5的形式,而2的个数远比5多,所以我们考虑5的个数就可以。 我们还要注意有些数是能分两个5的,比如25 = 5 * 5,能分出两个,所以能多出一个0.(我没注意,直接结束。 我们首先看数据,对于100%的数据,K的取值范围为[1,
1
0
18
10^{18}
1018],一般来说就用到long了,我们先算出
对于输出结果,注意我们这里要使用包装类,因为基础类型没有MAX_VALUE属性。 从结果我们可以看出,要使用Long类型。 由于0的个数是在随着数的增加,单调不减的,所以我们可以使用二分查找来降低复杂度,实现O(logn),否则遍历的话O(n)肯定会超时。
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 3:47:37- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |