- 博客(12)
- 收藏
- 关注
原创 力扣14——最长公共前缀(c语言版)
2、遍历后续字符串,并更新最长公共前缀即可。3、注意'\0'的使用。实现思路:1、先将第一个字符串设为最长公共前缀。
2023-12-09 19:52:28 99
原创 最长平衡子字符串(C语言)
1、最长平衡子是由零一组成的偶数串,被踢我采用一个空间为二的数组来记录0,1的个数2、重点是判断0的位置是否位于下一个字串开头(原串首位是0,或该位置前一位是1)。此时,将数组0位置设为一,1位值设为零。否则,读0时,0位自加,读一时,1为自加。
2023-11-08 20:25:46 58 1
原创 力扣第七题——整数反转
本题的核心是如何判断反转之后的整数是否越界,也就是以上代码中的。如果越界,也只存在循环最后一次执行的相关判断。本代码是速度最快的,但内存较大。
2023-10-29 16:56:33 38 1
原创 KMP 模式匹配算法(C语言版)
在我们进行字符串的模式匹配操作时,常用的算法有BF模式匹配算法和KMP模式匹配算法,其中BF模式匹配算法也就是常见的暴力解法,其时间复杂为O(m*n),而KMP算法时间复杂m+n)其优化了BF模式匹配算法中的指针回溯问题,时期算法效率答答题高。具体是(串从一开始计数):1、在匹配过程中,目标串的指针不需要回溯,只回溯模式串的指针。2、如果目标串和和模式串前n个字符匹配成功,遇到匹配失败的字符时,模式串指针回溯的位置有模式串的内容决定(回溯到 匹配失败位置前的模式串的最长公共前后缀的长度加一的位置)
2023-10-13 15:57:03 199
原创 学生信息管理系统——JAVA
System.out.println("暂无学生信息,请输入");System.out.println("请输入要删除的学生的学号");System.out.println("请输入要修改的学生学号");System.out.println("请先输入信息");System.out.println("请输入新居住地");System.out.println("请输入新姓名");System.out.println("请输入新年龄");System.out.println("请输入新学号");
2023-05-29 23:20:14 12758 6
原创 十大经典排序算法————选择排序及其优化(C语言版)
选择排序法是一种不稳定的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找(大)元素,然后放到已排序序列的末尾。以此类推,将全部待排序的数据元素排完。主要分为直接选择排序、树形选择排序以及堆排序。此处定义了一个长度为len的数组,采用两个简单的嵌套循环。补充:用time()为srand()生成一个随机种子,作为rand参数一生成一个随机数。此处优化方法为交换最小下标,以降低交换次数。((后续会补充其他方案)。
2023-03-29 23:07:22 221 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人