[算法基础/初学者]
文章平均质量分 62
其中包含C语言,C++,java等算法的内容。
渡过晚枫
大二软工生,大佬求带带。
展开
-
[第十届蓝桥杯/java/算法]C——不同子串
一个字符串的非空子串是指字符串中长度至少为 1 的连续的一段字符组成的串。例如,字符串aaab 有非空子串a, b, aa, ab, aaa, aab, aaab,一共 7 个。注意在计算时,只算本质不同的串的个数。请问,字符串0100110001010001 有多少个不同的非空子串?原创 2023-01-01 18:26:21 · 345 阅读 · 0 评论 -
[第十届蓝桥杯/java/算法]B——矩形切割
小明有一些矩形的材料,他要从这些矩形材料中切割出一些正方形。当他面对一块矩形材料时,他总是从中间切割一刀,切出一块最大的正方 形,剩下一块矩形,然后再切割剩下的矩形材料,直到全部切为正方形为止。例如,对于一块两边分别为5和3的材料(记为5*3),小明会依次切出3*3、2*2、1*1、1*1共4个正方形。现在小明有一块矩形的材料,两边长分别是2019和324。请问小明最终会切出多少个正方形?原创 2022-12-30 20:18:42 · 512 阅读 · 0 评论 -
[第十届蓝桥杯/java/算法]A——约数个数
小明对数位中含有2、0、1、9的数字很感兴趣,在1到40中这样的数包括1、2、9、10 至32、39 和40,共28 个,他们的和是574。请问,在11到2019中本来一开始想用最简单的循环取余判断的,但那样属实没啥挑战。想到之前一直想用字符串判断的方法,所以这次便搜到了contains()方法。当且仅当此字符串包含括号内所指定的char值序列时,结果返回true。如此一来,我们就只需要短短的一行就能完成全部情况的判断,是不是很简单呢?结果为:1905111原创 2022-12-30 19:36:50 · 418 阅读 · 0 评论 -
[第十二届蓝桥杯/java/算法]F——时间显示
个人认为这题比较难得部分是我们该如何前导0,即当小时为7时,该如何在结果中输出07。我们当然可以对结果进行判断,不满足条件的话,就在输出的时候加一个字符0。但,这可行但不必要。这时候,我想到了字符串的格式化——String.format()方法。详情可见下面这篇文章:JAVA字符串格式化-String.format()的使用http://t.csdn.cn/lT5v9在得到秒、分和时的具体数据后,我创建了一个字符串变量Date,然后利用format方法,并搭配转换符的标志"0",原创 2022-12-23 11:38:10 · 1270 阅读 · 0 评论 -
[第十二届蓝桥杯/java/算法]D——相乘
小蓝发现,他将1至1000000007之间的不同的数与2021相乘后再求除以1000000007的余数,会得到不同的数。小蓝想知道,能不能在1至1000000007之间找到一个数,与 2021相乘后再除以1000000007后的余数为999999999。如果存在,请在答案中提交这个数;如果不存在,请在答案中提交0。我采用的是最简单的方法,遍历,判断结果。我们知道,这类填空题往往只有一个答案,故当一个符合条件的数时,我们便可以跳出循环以便缩短执行时间了。其结果为:17812964原创 2022-12-23 09:58:20 · 923 阅读 · 0 评论 -
[第十二届蓝桥杯/java/算法]C——卡片
一开始我本来向用一个数组,保存每个卡片的数量,然后判断数字,有相应的数字,卡片数就减一,最后时间超了,寄!后面我一个一个手写的时候发现了一个规律,那就是卡片1的消耗是所以卡片中最快的。所以,我后面直接利用循环嵌套,判断每个数中有多少个1,没有一个,张数就减一。直到张数为0的时候,利用标号,退出多重循环,输出结果即可。(至于我这里为什么用的是2019,是因为我直接从10开始判断的,这样就能剩一丝丝的时间和内存了。)原创 2022-12-21 12:28:29 · 793 阅读 · 0 评论 -
[第十二届蓝桥杯/java/算法]B——空间
小蓝准备用256MB的内存空间开一个数组,数组的每个元素都是32位二进制数,如果不考虑程序占用的空间和维护内存需要的辅助空间,请问256MB可以存储多少个32位二进制整数?值得注意的是,如果我们直接输出这个算式的话,那么结果则为“-67108864”,因为这时的数据为int型,而在运算过程种,值会大于int的最大范围2^31-1,即会溢出,所以我们需要对数据进行类型转换,用long型来输出。原创 2022-12-21 10:40:47 · 767 阅读 · 0 评论 -
[第十二届蓝桥杯/java/算法]试题A——ASC
已知大写字母A的ASCII码为65,请问大写字母L的ASCII码是多少?原创 2022-12-21 10:13:14 · 209 阅读 · 1 评论 -
[第十三届蓝桥杯/java/算法]A——排列字母
这题可以暴力点,手算输出结果"AAAEEEEEEHHHIIILLRRRSSTTWWWY"就好,因为本题是个填空题。如果想用代码,像这种有关排序的题目,我们就可以取了解一下Arrays 类提供的 sort() 方法了,让其对数组元素进行升序即可。而且只需要两步:导入 java.util.Arrays 包。使用 Arrays.sort(数组名) 语法对数组进行排序,排序规则是从小到大,即升序。我先创建了一个字符串Str,其中存储了我们的数据,然后使用toCharArray()方法将Str转换原创 2022-12-20 20:55:42 · 888 阅读 · 0 评论 -
[蓝桥杯/java/算法]A——隔行变色
Excel表的格子很多,为了避免把某行的数据和相邻行混淆,可以采用隔行变色的样式。小明设计的样式为:第1行蓝色,第2行白色,第3行蓝色,第4行白色,…现在小明想知道,从第21行到第50行一共包含了多少个蓝色的行。请你直接提交这个整数,千万不要填写任何多余的内容。原创 2022-12-19 20:15:26 · 211 阅读 · 0 评论 -
[数据结构(C语言)]单链表的定义,实现初始化、创建、插入、增、删、改、查等基本操作
首先,让我们回顾一下顺序表的优缺点: 采用链式存储结构的线性表称为链表。 链表有单链表、循环链表和双向链表等多种类型。链表中,不仅需要存储每个数据元素,还需存储其直接后继的存储地址,这两部分数据信息组 合起来称为结点。 每个结点只包含一个指针域的链表,称为单链表。 最后一个结点的指针域为NULL,在图中记为^。first是头指针,指向链表中的第一个结点,链表中的第一个结点称为头结点 目录头文件及函数声明等:菜单函数:初始化链表:显示元素:添加元素:编辑插入元素:编辑删除元素:编辑 查找元素:修改元素:原创 2022-06-06 10:29:07 · 3949 阅读 · 0 评论 -
【数据结构(C语言)】顺序表的定义,实现初始化、创建、插入、增、删、改、查等基本操作(详细)
顺序表是在计算机内内存中以数组的形式保存的线性表,线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素、使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中,即通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系,采用顺式存储结构的线性表通常称为顺序表。相对于链式存储结构而言,顺式存储结构显得更为简单。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。顺序表的基本运算有:初始化 查找 插入 删除 输.原创 2022-05-21 15:42:38 · 18282 阅读 · 10 评论