
基础算法
文章平均质量分 74
意倾城
没有这把剑,我照样可以歼灭敌军!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
贪心算法之跳跃游戏问题
本文介绍了LeetCode上的“跳跃游戏”问题,要求判断是否可以从数组的第一个位置跳到最后一个位置。解题思路采用贪心算法,通过维护一个当前能到达的最远位置(maxReach),遍历数组时不断更新该值。如果当前位置超过maxReach,则无法到达终点;如果maxReach覆盖了终点,则提前返回true。代码实现中,通过循环遍历数组,检查并更新maxReach,最终判断是否可达。原创 2025-05-22 04:21:57 · 469 阅读 · 0 评论 -
摩尔投票算法
本文介绍了LeetCode第169题“多数元素”的解决方案,重点讲解了摩尔投票算法(Boyer-Moore Voting Algorithm)。该算法通过“对抗抵消”的方式,遍历数组并维护一个候选元素及其计数器,最终找到出现次数超过数组长度一半的元素。原创 2025-05-22 03:24:06 · 327 阅读 · 0 评论 -
解析桶排序
最后按照桶的编号顺序(从0号桶开始)依次取出所有元素,合并成一个完整的有序数组。首先需要计算数组中的最小值和最大值,这是后续分桶的基础。例如数据范围0-99,每个桶容量为10,则需要10个桶(0-9,10-19,...,90-99)中,每个桶内的元素单独排序,最后按顺序合并所有桶中的元素,得到完整的有序序列。:对每个桶内的元素进行排序(可以使用其他排序算法,如插入排序)。:根据某种规则(如数值范围)将元素分配到不同的桶中。:将所有桶中的元素按顺序合并,得到最终排序结果。原创 2025-04-11 19:41:22 · 1121 阅读 · 0 评论 -
一篇文章带你速通冒泡,选择,插入,快速,归并排序!
它的工作原理是通过重复遍历要排序的数列,比较相邻的两个元素,如果顺序错误就交换它们。从数列中挑出一个元素作为基准,重新排序数列,所有比基准值小的元素放在基准前面,所有比基准值大的元素放在基准后面。选择排序的工作原理是每次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。插入排序的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。时间复杂度:平均O(n log n),最坏O(n²)时间复杂度:O(n log n)原创 2025-04-11 18:30:46 · 297 阅读 · 0 评论