算法
文章平均质量分 61
种时光的人
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
pta L2-002 链表去重 c++
给定一个带整数键值的链表L,你需要把其中绝对值重复的键值结点删掉。即对每个键值K,只有第一个绝对值等于K的结点被保留。同时,所有被删除的结点须被保存在另一个链表上。例如给定L为 21→-15→-15→-7→15,你需要输出去重后的链表 21→-15→-7,还有被删除的链表 -15→15。原创 2025-01-08 22:46:55 · 305 阅读 · 0 评论 -
【蓝桥真题练习】蓝桥杯 2021 国赛 A 组 E 题
小蓝发现, 这个数列前 11 项是整数 11 , 接下来 22 项是整数 11 至 22 , 接下来 33 项是整数 11 至 33 , 接下来 44 项是整数 11 至 44 , 依次类推。我们可以使用类似于前缀和的方法来解题,既前r个数字和减去前l个数字和。同样的道理,我们知道了它的行数以及它一维的位置,可以得出它的列坐标。前n行的和为:n * (n + 1) * (n + 2) / 6。首先我们观察这个数列,我们可以把他分解成一个三角形的二维数组。小蓝想知道, 这个数列中, 连续一段的和是多少。原创 2025-01-07 12:49:08 · 549 阅读 · 0 评论 -
【计数排序】一个效率极高还简单的排序算法
它的优势在于在对一定范围内的整数排序时,复杂度为O(n+k)(其中k是整数的范围),快于任何比较排序算法。计数排序的思想类似于哈希表中的直接定址法,在给定的一组序列中,先找出该序列中的最大值和最小值,从而确定需要开辟多大的辅助空间,每一个数在对应的辅助空间中都有唯一的下标。二、从头到尾遍历辅助空间的下标,如果它的数值不为0就将它次数个下标复制给原数组(因为下标代表原数组的值),又因为它是从头到尾遍历的,所以使用此种方法可以排序。一样大的空间,并记录原数组每个值的个数,类似于哈希的映射。原创 2024-04-25 20:12:08 · 535 阅读 · 0 评论 -
【算法精讲】一篇让你掌握前缀和算法(附图解和不少题目练习~~)
前缀和算法是一种用空间换时间的算法,他常常用于解决某些题目或者作为某些高级算法的组成部分。例如:让你求某个矩阵(一维)的子矩阵的最大值,如果使用暴力解法它的时间复杂度将会是O(n^2) ,但如果使用该算法就可以使其时间复杂度降低一个维度也就是O(N).原创 2024-03-17 20:21:22 · 13888 阅读 · 3 评论 -
【算法精讲】选择排序、堆排序(C语言)
直接插入排序是一种简单的排序算法,它将数组分为有序和无序两部分,和插入排序的思路有些类似。堆排序是直接选择排序的进阶版,他在其原本的思想上进行了优化。每次遍历找最大值和最小值,把最大值放后面,最小值放前面。下面的内容涉及一部分数据结构堆的知识,不适合新手学习。时间复杂度:O( N * logN)时间复杂度:O( N^2)原创 2024-01-27 11:43:54 · 472 阅读 · 0 评论 -
【去重算法】有序去重和无序去重,C语言版
2.如果两个指向的数大小是不同的,则维护空间++,并且把新的数加进去。2.不同的是判断是否重复,每一次判断都需要在已经去重的范围里循环一遍。1.双指针方法,一个用来遍历整体数组,另一个用来维护去重后的空间。纸上得来终觉浅,绝知此事要躬行。时间复杂度:O(N^2)时间复杂度:O(N)原创 2024-01-25 15:37:33 · 859 阅读 · 1 评论 -
【手撕排序算法】直接插入排序、希尔排序,有详细图解
直接插入排序是一种简单的排序方法,它的思路就像是插扑克牌一样,每次排序一个,最终排序完成。原创 2024-01-25 19:16:53 · 577 阅读 · 1 评论
分享