![](https://img-blog.csdnimg.cn/direct/2a6ecad4fd484529bdb83e3454eb88e5.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
基础算法
文章平均质量分 70
以基础的算法为主
Kai2026
大学生一枚,C/C++,Linux在学,热爱玩游戏。
展开
-
基础动态规划 - 过河卒
过河卒原创 2024-04-28 21:13:09 · 196 阅读 · 0 评论 -
LeetCode - 股票平滑下跌阶段的数目(分组循环)
股票平滑下跌阶段的数目原创 2024-03-28 20:45:19 · 242 阅读 · 0 评论 -
常见的位运算操作
常见位运算操作原创 2024-03-15 19:36:49 · 342 阅读 · 0 评论 -
LeetCode --- 长度最小的子数组(滑动窗口)
滑动窗口算法是一种用于解决数组或者列表中子数组或者字串问题的方法,通常用于在给定数据上执行连续区间的操作,算法基本思想是维护一个固定大小或不定大小的窗口,通过移动窗口的起始位置和结束位置来遍历整个数据。在每个窗口位置,都可以进行一些判断。初始化窗口的起始和结束位置。将窗口内的元素用于计算或判断。移动窗口的起始和结束位置。重复步骤2和步骤3,直到窗口的结束位置达到数据集的末尾。原创 2024-03-02 21:43:35 · 460 阅读 · 0 评论 -
双指针算法
双指针指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个指针(特殊情况甚至可以多个),两个指针或是同方向访问两个链表、或是同方向访问一个链表(快慢指针)、或是相反方向扫描(对撞指针),从而达到我们需要的目的。原创 2024-02-29 21:37:07 · 307 阅读 · 0 评论 -
数据结构---递归转化为非递归
为什么要学习非递归写法呢?当我们在用递归实现一个程序的时候,要考虑一个问题,这个程序用递归去实现,当数据量庞大的时候,会不会造成栈溢出(STACK OVERFLOW)呢?如果没有造成还好,造成了怎么解决这个问题呢?这个时候就需要用到非递归,把一个递归实现的程序转化为非递归,是一个程序猿的基本功。return 1;return 0;比如这个代码,把这个代码转化为非递归特别简单,一个for循环即可搞定。i原创 2023-04-13 16:46:10 · 691 阅读 · 0 评论 -
数据结构---八大排序
排序在日常生活十分的重要,买一个东西的时候,肯定要看价格;打游戏的时候的段位排名;游戏下载次数的排行等等,都需要用到排序,下面,HaiFan来为大家介绍一下常用的排序方法。插入排序:直接插入排序和希尔排序选择排序:选择排序:堆排序交换排序:冒泡和快排归并排序:归并。原创 2023-04-12 22:46:11 · 768 阅读 · 0 评论 -
差分详细讲解(C++)
还不会差分吗?本文详细介绍了差分的应用和构造原创 2022-12-20 16:04:18 · 8014 阅读 · 16 评论 -
前缀和(C++)实现
只会暴力算区间和?不会用前缀和?手把手教你前缀和。原创 2022-12-14 17:44:31 · 4058 阅读 · 13 评论 -
高精度加减乘除——C++实现
高精度不会?还不进来看看,手把手教你高精度加减乘除。原创 2022-12-12 16:56:38 · 579 阅读 · 6 评论 -
算法二分(折半)
二分查找又称折半查找,这是个查找效率非常高的查找方式。但查找的前提是该数组要有序。二分查找的时间复杂度是O(logn)。1.基本思想在查找过程中从数组的中间元素开始,如果中间元素刚好是要查找的元素,则查找结束;如果某一元素大于或小于中间元素,则让l或r的值变一下,目的是为了更新查找区间,缩小查找范围,直到循环结束。2.使用场景给你一个数组,该数组是有序的1 3 3 4 5,二分可以确定要查找的数的左右边界。int l = 0;//查找右边界 while(l < r) {原创 2022-12-11 11:23:15 · 216 阅读 · 2 评论 -
快速排序(分治)
基本算法——快速排序原创 2022-11-28 21:46:44 · 1130 阅读 · 17 评论 -
归并排序—C++实现
算法——归并排序原创 2022-12-03 21:10:48 · 5153 阅读 · 5 评论