| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 第十二届蓝桥杯javaB组刷题day2 -> 正文阅读 |
|
[数据结构与算法]第十二届蓝桥杯javaB组刷题day2 |
1.直线?我们思路: 暴力解法,将所有可能的情况列举出来,故需要两个坐标的横纵坐标,便需要四个for循环来进行遍历,出现问题: ①需要排除斜率为0的情况,后面再单独进行相加 ②因为需要set来加入斜率,而一条斜线y=kx+b,包括k和b,set只能包含key,所以我们需要定义一个直线类进行添加 ★使用HashSet存储自定义对象需要重写equals方法和HashSet方法????????
上面答案存在精度问题,故答案有误 2.货物摆放未想出解法zzzzz 想使用三个for循环进行遍历,x*y*z=答案时,使数量++,但数字太大了不可取 别人的解法: 根据题目要求,L 与 W 以及 H 相乘 必须等于 n。可以发现,如果一个数可以由三个数相乘得到,那么这三个数一定都是这个数的因数。举个例子:24,1 * 2 * 12 = 24,2 * 2 * 6 = 24 等等。 考虑到这里,解法就呼之欲出了,填空题可以直接暴力。先求出 n 的所有因数,这里注意必须是所有的因数,包括 n 本身,然后三层循环遍历搜索即可。?
3.?路径(未学)4.时间显示?需要时间api的应用(有待提高):
5.最少砝码未实现zzzz 找规律题,需要自行演算从中寻找出一定的规律
解析 然后再称比1重的,反正都是要再加砝码,那我们为何不选一个能称的重量尽可能大的呢。 当我们还需要再增加砝码时 从中可以发现一个规律,当我们需要第三个砝码是,前两个砝码(1、3)满足的最大重量已经是4了,下一个要满足的重量是5,我们遵循砝码尽可能大的原则,选择的第三个砝码的重量满足的条件是:它减去 已经可以称得的最大重量 可以得到 下一个需要称的重量。也就是weight - 4 = 5,可得weight为9 再往下推,可以得到下面的表格 ?到此已经找到规律,可以写出这道题的代码了
其中总重量是当前所有砝码之和,因此必须先乘3,后加到总重量里,除此之外,三行代码的顺序可调换 如果想证明的话,可以发现,取第三个砝码是weight - 4 = 5,要求的下一个重量5是总重量+1,即下一个砝码重量是当前总重量*2+1,nextWeight = total * 2+1,也可以表示为要求的下一个砝码重量weight=previousTotal * 2 + 1 6.双向排序(不懂)?7.括号序列(不懂)? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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 11:34:10- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |