
蓝桥杯
文章平均质量分 66
python_198
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
蓝桥杯刷题day14——盖印章【算法赛】
小 Z 喜欢盖印章。有一天,小 Z 得到了一个 n×m 的网格图,与此同时,他的手上有两种印章(分别称为 A,B),如下图所示。他想将这两种印章盖在这个网格图上。由于小 Z 是一个有原则的人,他将按照以下规则进行操作。给定小 Z 所盖完印章的网格图以及两种印章的使用次数 K,请你分别求出两种印章的使用次数。可以证明,在这种情况下二者的使用次数是唯一的。数据保证存在一种方案达到要求。具体例子可以参考样例。原创 2024-04-07 23:23:02 · 923 阅读 · 0 评论 -
蓝桥杯刷题day13——乘飞机【算法赛】
给出 q 个二元组 l,r,判断数组在区间 [l,r] 上是否存在两个差值小于等于 365 的数,若存在输出 YES,否则输出 NO。如果查询区间的长度较小,我们需要对区间内的年龄进行排序,然后遍历排序后的列表,检查相邻年龄之间的差值。每个乘客的年龄用一个 0 到 36500 的整数表示,两个乘客的年龄相差 365 以内就认为是相仿的。),那么显然区间内至少存在两个年龄相差不超过365的乘客,因此可以直接输出"YES"。q 行,每行输出 YES 或者 NO,分别表示区间内存在/不存在年龄相仿的乘客。原创 2024-04-01 23:24:42 · 2706 阅读 · 1 评论 -
蓝桥杯刷题day13——玩游戏【算法赛】
小 A 和小 B 两个人在海边找到了 n 个石子,准备开始进行一些游戏,具体规则如下:小 B 首先将 n 个石子分成若干堆,接下来从小 A 开始小 A 和小 B 轮流取石子,每次可以任选一堆石子取走任意个,不可不取,没石子可取的输。对于小A来说,如果石子堆的总数是偶数,他无法确保自己总是能做出最优的选择,因为小B可以模仿小A的动作,保证每次轮到小A取石子时,石子堆的总数仍然是偶数。这样,无论小B如何取石子,小A总能保持石子堆的总数为奇数,直到最后小A取走最后一个石子,赢得游戏。原创 2024-04-01 14:30:44 · 823 阅读 · 0 评论 -
蓝桥杯刷题day13——自助餐【算法赛】
首先,根据题目描述,我们知道有六种不同的盘子形状,每种形状对应一个价格。为了方便计算,我们可以将这些形状和它们对应的价格存储在一个字典(原创 2024-04-01 13:57:46 · 757 阅读 · 0 评论 -
蓝桥杯刷题day12——元素交换【算法赛】
题目要求我们通过最少的交换次数,使得一个2×N的二进制数组中没有连续的0或1。我们可以发现,在这样一个数组中,每一行中的每个元素都应该与其相邻的列中的元素不同。这是因为如果相邻的列中有相同的元素,那么不论怎么交换,总会存在连续的0或1。这样,我们就可以得到两种情况下各自需要改变的元素数量。最后,我们选择这两种情况中需要改变元素数量较少的那个,作为我们的答案。函数来计算需要改变的元素数量,然后分别计算了两种情况下的数量,并输出了其中的最小值。输出一个整数,表示使数组A中不存在连续的0或1所需的最少交换次数。原创 2024-03-30 23:09:32 · 546 阅读 · 0 评论 -
蓝桥杯刷题day11——数学奇才【算法赛】
如果题目中的“不超过n次操作”意味着我们必须进行恰好n次操作,那么策略会稍有不同,但在这个特定问题中,由于我们只对负数进行操作,且每个负数只操作一次,所以实际操作次数会少于或等于n,而无需担心超出限制。而对于负数,取反后会变为正数,从而增大总和。嗯,你可以选择序列中的某一段连续的数字,然后将它们变为自身的相反数,举个例子,假设你选择了位置,那么a1, a2,...,ai中的每个数字都会剩以-1.现在,你需要巧妙运用你的能力,设计—种操作方案,使得经过不超过n 次操作后,序列a中所有数字的总和尽可能大。原创 2024-03-28 23:09:48 · 687 阅读 · 0 评论 -
蓝桥杯刷题day10——猜灯谜【算法赛】
第一行包含一个整数 n( 3≤n≤10^5),表示灯笼的数量。接下来一行,包含 n 个整数 a1,a2,...,an(1≤ai≤10^5 ),表示每个灯笼上的数字.在计算谜底时,需要根据灯笼的位置来判断相邻的灯笼。对于最后一个灯笼,需要特别处理,将其与第一个灯笼视为相邻。根据元宵节的传统,每个灯笼的谜底都是由相邻两个灯笼上的数字之和得出的。需要注意的是,在环形排列的灯笼中,首尾两个灯笼也是相邻的。输出n个整数,分别表示第1,2,...,n个灯笼的谜底。现在,请你计算并依次输出每个灯笼的谜底。原创 2024-03-27 23:17:52 · 629 阅读 · 0 评论 -
蓝桥杯刷题day09——霓虹【算法赛】
这可以通过对两个数字的灯管集合执行集合的对称差集操作来完成,对称差集返回两个集合中独有的元素,即只在一个集合中而不在另一个集合中的元素。例如,从显示数字0到显示数字6,会有一个灯管熄灭,一个灯管点亮,那么总共有两根灯管发了变化。具体来说,当前的数字串是A,—秒钟之后,数字串变成了B,小蓝想知道,在数字跳转的过程中,有多少个灯管的状态发生了变化。他想要知道,在数字变化的过程中,总共有多少根灯管的状态产生了变化?最后,我们将所有数字对的灯管差异计数相加,得到总的变化灯管数量,并输出这个值。原创 2024-03-27 00:12:06 · 1159 阅读 · 0 评论 -
蓝桥杯刷题day08——完全日期
然后,使用datetime模块中的datetime和timedelta类来遍历从2001年1月1日到2021年12月31日的所有日期。在每个日期上,计算年、月、日的各位数字之和,如果和在ls列表中,则计数器c加1。例如:2021年6月5日的各位数字之和为2+0+2+1+6+5=16,而16是一个完全平方数,它是4的平方。所以2021年6月5日是一个完全日期。计算从2001年1月1日到2021年12月31日之间有多少个“完全日期”,即日期中年、月、日的各位数字之和是一个完全平方数的日期。原创 2024-02-06 23:18:42 · 2526 阅读 · 1 评论 -
蓝桥杯刷题day07——斐波那契与7
首先定义了一个列表b,然后计算了斐波那契数列的前200项,并将每一项的个位数存储在列表b中。然后统计了列表b中前60项数字7的个数x,并计算出202202011200项中包含7的个数为x*y。实际上,需要考虑斐波那契数列的周期性来计算出202202011200项中数字7的个数。本题的结果为一 个整数, 在提交答案时只填写这个整数, 填写多余的内容将无法得分。请问, 斐波那契数列的第 1 至 202202011200 项(含)中, 有多少项的个位 是 7。原创 2024-02-06 00:27:15 · 1242 阅读 · 0 评论 -
蓝桥杯刷题day06——平均
他想更改若干个数的值使得这10 种数出现的次数相等(都等于n/10),请问代价和最少为多少。有一个长度为n 的数组(n 是 10 的倍数),每个数ai都是区间 [0,9] 中的整数。只更改第 1,2,4,5,7,8 个数,需要花费代价 1+2+4+5+7+8=27。3. 循环n次,读取每个数和对应的代价,将代价存储到ls中对应数的列表中。小明发现数组里每种数出现的次数不太平均,而更改第i 个数的代价为bi,2. 创建一个长度为10的空列表ls,用于存储每种数对应的代价。输入的第一行包含一个正整数 n。原创 2024-02-04 22:15:07 · 2591 阅读 · 0 评论 -
蓝桥杯刷题day05——2023
例如,数字20322175和33220022都完全不包含2023,因为无论我们移除哪个部分,都不能得到2023。请求出在12345678 (含) 至 98765432 (含) 中 ,有多少个数中完全不包含 2023。但是,数字20230415和20193213则包含2023,因为如果我们移除某些部分,可以得到2023。这意味着无论我们移除这个数字的哪个部分,都不能得到数字2023。对于每个数字,尝试移除其各个部分,检查是否可以得到数字2023。在给定数字范围内,完全不包含数字2023的所有数字的数量。原创 2024-02-03 00:14:14 · 955 阅读 · 0 评论 -
蓝桥杯day04——采购方案
解释:符合预算的采购方案如下: nums[0] + nums[1] = 4 nums[0] + nums[2] = 3 nums[1] + nums[2] = 3 nums[2] + nums[3] = 10。在给定的"nums"列表中,每个元素代表一种商品的价格,你可以购买2种商品,但是总价格不能超过"target"值。首先,对输入的"nums"列表进行排序,这样可以从最小的价格开始考虑,减少后续搜索的范围。最后,返回计数器"count"的值,即满足条件的购买方案的数量。原创 2023-12-02 17:20:56 · 219 阅读 · 0 评论 -
蓝桥杯day04——查询后矩阵的和
分别用于存储每一行和每一列的数据。字典的键是行或列的索引,值是该行或该列的元素列表。上图展示了每一个查询操作之后的矩阵。所有操作执行完以后,矩阵元素之和为 17。上图展示了每个查询以后矩阵的值。所有操作执行完以后,矩阵元素之和为 23。,对于每个查询,判断其类型(取出行或取出列)以及其索引。请你执行完所有查询以后,返回矩阵中所有整数的和。的值,分别计算它们的和,并累加到变量。一开始,给你一个下标从。原创 2023-12-02 15:51:25 · 574 阅读 · 0 评论 -
蓝桥杯day03——Bigram 分词
对于每种这样的情况,将第三个词 "" 添加到答案中,并返回答案。形式出现的情况,其中。原创 2023-12-01 23:46:56 · 754 阅读 · 0 评论 -
蓝桥杯day03——二进制间距
的二进制表示中连续的"1"之间的最大间隔。中"1"的数量,如果数量小于等于1,则意味着在二进制表示中只有一个"1",因此返回0。在 22 的二进制表示中,有三个 1,组成两对相邻的 1。在 8 的二进制表示中没有相邻的两个 1,所以返回 0。第一对相邻的 1 中,两个 1 之间的距离为 2。第二对相邻的 1 中,两个 1 之间的距离为 1。中"1"的数量大于1,使用列表推导式找到二进制字符串。,用于存储二进制表示中所有"1"的索引位置。中所有"1"的索引位置,并将它们存储在列表。原创 2023-12-01 17:37:57 · 595 阅读 · 0 评论 -
蓝桥杯day02——移动机器人
例如,如果一个机器人位于位置 0 并往右移动,另一个机器人位于位置 2 并往左移动,下一秒,它们都将占据位置 1,并改变方向。例如,如果一个机器人位于位置 0 并往右移动,另一个机器人位于位置 1 并往左移动,下一秒,第一个机器人位于位置 0 并往左行驶,而另一个机器人位于位置 1 并往右移动。列表的每个元素是一个包含两个元素的列表,第一个元素是机器人的位置,第二个元素是机器人的方向('L' 或 'R')。现在下标为 1 的机器人开始往左移动,下标为 2 的机器人开始往右移动。原创 2023-11-29 00:21:54 · 1921 阅读 · 0 评论 -
蓝桥杯day02——Fizz Buzz
实现的是经典的FizzBuzz问题,即对从1到n的每个整数进行如下操作:如果该数能被3整除,就在答案中添加"Fizz";如果该数能被5整除,就在答案中添加"Buzz";如果该数能同时被3和5整除,就在答案中添加"FizzBuzz"。如果都不能,就将该数本身添加到答案中。各个整数的 Fizz Buzz 表示,并用字符串数组。原创 2023-11-28 23:39:45 · 690 阅读 · 0 评论 -
蓝桥杯day02——第三大的数
要在一个整数列表中找到第三个最大的数字。如果列表中没有三个不同的数字,则返回最大的数字。此例中存在两个值为 2 的数,它们都排第二。在所有不同数字中排第三大的数为 1。注意,要求返回第三大的数,是指在所有不同数字中排第三大的数。第三大的数不存在, 所以返回最大的数 2。如果不存在,则返回数组中最大的数。给你一个非空数组,返回此数组中。第三大的数是 1。原创 2023-11-28 23:19:28 · 1954 阅读 · 0 评论 -
蓝桥杯day01——负二进制数相加
这个代码的主要思想是模拟在常规二进制系统中的加法运算,但所有的运算都以负二进制的格式进行。给出:数组由若干 0 和 1 组成,按最高有效位到最低有效位的顺序排列。两数的表示形式为:不含前导零、由若干 0 和 1 组成的数组。实现两个以负二进制形式表示的数的加法。arr1 表示 11,arr2 表示 5,输出表示 16。也同样不含前导零:即。,返回两数相加的结果。原创 2023-11-28 00:06:01 · 546 阅读 · 0 评论 -
蓝桥杯day01——根据给定数字划分数组
小于 pivot 的元素的相对位置和大于 pivot 的元素的相对位置分别为 [9, 5, 3] 和 [12, 14] ,它们在结果数组中的相对顺序需要保留。小于 pivot 的元素的相对位置和大于 pivot 的元素的相对位置分别为 [-3] 和 [4, 3] ,它们在结果数组中的相对顺序需要保留。这个结果是一个新的列表,其中包含按照要求排序的元素。元素 9 ,5 和 3 小于 pivot ,所以它们在数组的最左边。元素 4 和 3 大于 pivot ,所以它们在数组的最右边。目标是将给定的整数列表。原创 2023-11-27 20:18:33 · 543 阅读 · 0 评论 -
蓝桥杯刷题day01——字符串中的单词反转
你在与一位习惯从右往左阅读的朋友发消息,他发出的文字顺序都与正常相反但单词内容正确,为了和他顺利交流你决定写一个转换程序,把他所发的消息。中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。原创 2023-11-27 16:49:06 · 379 阅读 · 0 评论