- 博客(14)
- 收藏
- 关注
原创 蓝桥杯——矩形总面积
重叠部分左边界由x1和x3决定,右边界由x2和x4决定,上边界由y2和y4决定,下边界由y1和y3决定。我最开始考虑各种具体细节反而把问题复杂化,需要注意的是。解决本题的关键是从具体细节中抽离出来,仅考虑。,面积的数据类型应为long。
2025-04-02 18:23:08
196
原创 蓝桥杯——类斐波那契循环数
单就从解决这个题目的角度来思考的话,运用反向遍历可以提高算法效率。这个题中有几个可以借鉴的点是,将数字转换为字符串便于遍历,运用charAt方法同时注意字符串和数字之间的转换;运用Arrays.stream方法将数组转换成流直接再用sum方法求和;实现类似于滚动数组,不改变数组大小,只更新其中元素,通过取余操作来实现循环更新元素。
2025-03-30 12:51:57
176
原创 冒泡排序,选择排序,快速排序,归并排序,桶排序——Java
冒泡排序(Bubble Sort)是一种简单的排序算法,它通过重复地遍历待排序的列表,比较相邻的元素并交换它们的位置来实现排序。该算法的名称来源于较小的元素会像"气泡"一样逐渐"浮"到列表的顶端。
2025-03-23 19:42:30
501
原创 Array和Arrays的区别
equals():比较两个array是否相等。array拥有相同元素个数,且所有对应元素两两相等。Arrays.asList(array):将数组array转化为List。它无法判断其中实际存有多少元素,length只是告诉我们array的容量。其中的元素的类型必须相同。此静态类专门用来操作array ,提供搜索、排序、复制等静态方法。binarySearch():在排好序的array中寻找元素。sort():用来对array进行排序。效率高,但容量固定且无法动态改变。Java中最基本的一个存储结构。
2025-03-15 20:12:41
204
原创 浅谈字符串的反转和遍历
常用的反转(逆序)方法有使用StringBuilder或StringBuffer(不常用)的reverse方法、将字符串转换成字符数组逆序拼接、直接利用字符串的charAt方法逆序拼接。遍历有两种常用方法即直接利用字符串的charAt方法和将字符串转换成字符数组的方法,过于简单不再赘述。
2025-03-15 20:00:26
127
原创 蓝桥杯——回文字符串
小蓝最近迷上了回文字符串,他有一个只包含小写字母的字符串 S,小蓝可以往字符串 S 的开头处加入任意数目个指定字符: l、q、b(ASCII 码分别为: 108、113、98)。小蓝想要知道他是否能通过这种方式把字符串 SS 转化为一个回文字符串。输出 T 行,每行包含一个字符串,依次表示每组数据的答案。对于 50%的评测用例, 1≤∣S∣≤1000,其中 ∣S∣ 表示字符串 S 的长度;输入的第一行包含一个整数 T,表示每次输入包含 T 组数据。对于所有评测用例, 1≤T≤10,1≤∑∣S∣≤106。
2025-03-15 19:33:25
251
原创 蓝桥杯——班级活动
本题思路是以数字出现的次数围绕展开,数字必须是两两成对出现,出现两次以上的数字必须修改,单独出现的数字需要配对,将必须修改的与单独出现的配对,剩下的如果是必须修改的则全部修改,若全是需要配对的则修改一半。为了公平,老师给每名同学随机分配了一个 nn 以内的正整数作为 idid,第 ii 名同学的 idid 为 aiai。老师希望通过更改若干名同学的 idid 使得对于任意一名同学 ii,有且仅有另一名同学 jj 的 idid 与其相同 (ai=ajai=aj)。输出共 11 行,一个整数。
2025-03-14 20:43:05
282
原创 输出格式练习
第一行输入一个正整数 aa,你需要计算从 00 时 00 分后经过 aa 分钟得到的时间是多少。输出以xx:xx的形式表示,如果不足两位则左侧补 00。例如 a=36a=36,则你要输出00:36,a=61a=61,则你要输出01:01。第二行输入两个正整数 c,dc,d,你要输出 cddc 的结果,保留三位小数。
2025-03-14 17:57:36
165
原创 蓝桥杯——动态密码【算法赛】
本题主要是运用toString方法,对它传入两个参数,第一个数是被转换数字,第二个数字是要转换成的进制,同时Java有自带二进制、八进制、十六进制转换方法,只需传入一个参数被转换的数字即可。对小蓝来说,今天是 2024 年 11 月 11 日(八位数字格式为:20241111)。现在,请你帮他计算出动态密码,帮他完成支付。困得眼睛都睁不开的他,终于把键盘添加到了购物车,就差最后一步:付款!好吧这并不要紧,因为小蓝此前设置了动态密码。动态密码是将当天的日期(八位数字格式)转换成二进制表示形式(不含前导零)。
2025-03-13 20:24:08
182
原创 蓝桥杯——书籍标签【算法赛】
现在,他需要你的帮助来分析这些数据,找出哪一类书籍被贴上特别标签的比例最低,即从该类书籍中随机选择一本时,拿到带有特别标签书籍的概率最小。接下来的 NN 行,每行包含两个整数 titi 和 pipi (1≤pi≤ti≤1001≤pi≤ti≤100),分别表示第 ii 类书籍的库存总数和被贴特别标签的数量。这天在他逛书店的时候,发现书店里的每一类书籍都有一定的库存数量,而且部分书籍还被贴上了特别的标签。输入的第一行包含一个整数 NN (1≤N≤1051≤N≤105),表示书籍的类别数量。
2025-03-13 20:11:52
118
原创 蓝桥杯——蛇年大吉【算法赛】
小蓝哈哈大笑:“爸,你这祝福也太牵强了吧!不过,既然你这么努力了,我就勉强接受吧!只不过,为了考验你对蛇的了解,你还得告诉我,如果把。上联:金蛇狂舞辞旧岁,下联:银蛇飞舞迎新年,横批:蛇年大吉!解决本问题的思想是讲字符可以转换为字符数组,便于对字符串进行遍历和排序,同时Java可以直接输出字符数组即原来完整的字符串。要不这样,你给我出一个和蛇有关的英文单词,我把它拆开,每个字母都代表一个祝福,怎么样?小蓝撇撇嘴:“爸,你这春联也太没创意了吧!你看看,每个字母都能代表啥祝福?小蓝坏笑了一下:“好啊!
2025-03-13 19:49:52
224
原创 蓝桥杯——岁月流转
从公元 19011901 年 11 月 11日开始,持续到 20002000 年 1212 月 3131 日,这段岁月见证了历史的变迁和人类的努力。输出一个整数,表示在公元 19011901 年 11 月 11 日到 20002000 年 1212 月 3131 日期间,有多少个月的第一天是周日。解答上述问题主要思想是把一周看作一个循环,只需判断对7取余的余数,这里要注意对闰年的判断,else语句不能少,因为会导致二月份天数不能及时更新。据记载,公元 19001900 年 11 月 11 日是周一。
2025-03-12 20:38:40
128
原创 对数组中的数据进行排序——选择法排序
输入10个数到数组中,对数组中的数按由小到大排序并输出。10个由小到大的整数,用空格分隔。10个整数,用空格分隔。
2023-11-11 15:55:21
163
1
原创 循环结构——求最大公约数和最小公倍数
辗转相除法,也称为欧几里德算法,是求两个整数的最大公约数(GCD)的一种常用方法。该算法的基本思想是通过重复使用除法和取余运算,将两个整数的较大数替换为两者的余数,直到余数为0时停止。除了求最大公约数,辗转相除法还可以用于判断两个数是否互质(最大公约数为1)和计算两个数的最小公倍数(等于两数之积除以最大公约数)。最小公倍数可以通过以下公式计算:LCM(a, b) = (a * b) / GCD(a, b)。算法的时间复杂度为 O(log(a + b)),其中 a 和 b 是两个整数。
2023-11-05 16:44:43
473
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人