算法沉淀
文章平均质量分 90
沧浪之水!
你想拥有你从未拥有过的东西,那么你就要去做你从未做过的事情!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
41. 缺失的第一个正数
这样,每索引一次,只要这个数是负数,就证明,这个不是最小的正数,直到遇到正数,并且是这个正数的(下标+1)。就是从1开始数,最小的,并且没有出现的数。本身全是负数的情况下,那么最后正个数组都变成了正数,第0下标就是正数,返回0+1;如果全部都出现了,比如1,2,3,4,5,6,7。,请你找出其中没有出现的最小的正整数。最后如果全都是负数,就是这个数组中都是有序的。如果数组中出现了一个负数,那么最小正数,一定是小于n的。但是要注意,下标索引是小于本身的数的。如果全是负数,那么这个数字一定是1。原创 2025-09-14 21:24:36 · 253 阅读 · 0 评论 -
算法沉淀五:位运算
给定一个数组,包含从 1 到 N 所有的整数,但其中缺了两个数字。2,3,4其实就是一类问题,本质就是一个哈希表,很多情况下就是一个数组。&上一个1,要么让第x位右移,要么让1左移,一般用右移x位, (n>>x)&1。如何表示-n:n的按位取反再加1,本质就是将最右侧的1的左边区域全部变成相反。:由于其他数字出现三次,该位的总次数对3取余即为唯一数字在该位的值(0或1)。n-1:将最右侧的1的右边的区域(包含1)全部取反。,因为有 2 个数字,所以所有的数字都在范围。2 是丢失的数字,因为它没有出现在。原创 2025-03-14 18:42:57 · 866 阅读 · 0 评论 -
算法沉淀四:前缀和
对于一个给定的数列,它的前缀和数列是这样构成的:前缀和数列的第n项等于原数列前n项的和。例如,有数列a = [1, 2, 3, 4],它的前缀和数列s中,主要用途是可以快速地计算数列中某个区间的和。如果想求数列a中从第m项到第n项(m \leq n)的和,利用前缀和可以通过s[n]-s[m - 1](当m > 1时)或者直接用s[n](当m = 1时)来快速得到结果,而不需要每次都从m项开始逐个相加到n项。还需从题目中发现它的奥秘!原创 2024-12-10 15:06:19 · 1141 阅读 · 0 评论 -
算法沉淀三:二分查找
什么是二分查找?二分查找(Binary Search),也叫折半查找,是一种在有序数组中查找特定元素的高效搜索算法。基本原理- 它每次比较中间元素与目标元素的大小关系,若中间元素等于目标元素,则查找成功;若中间元素大于目标元素,则在数组的左半部分继续查找;若中间元素小于目标元素,则在数组的右半部分继续查找。- 不断重复这个过程,直到找到目标元素或者确定目标元素不存在为止。适用条件- 数据结构必须是有序的,比如升序或降序排列的数组。时间复杂度。原创 2024-11-25 21:26:49 · 1216 阅读 · 0 评论 -
算法沉淀二:滑动窗口
顾名思义,滑动窗口,就是一个可变大变小的区间,左边为left, 右边为right,left 和 right 构成的一个区间,一直往后面遍历,实现O(n) 复杂度的一个算法。原创 2024-11-18 19:46:04 · 1193 阅读 · 0 评论 -
算法沉淀一:双指针
此章节介绍一些算法,主要从leetcode上的题来讲解,讲解内容为做题思路,附加代码。欢迎与我大家一起学习共同进步!沉淀!passion!双指针的常见形式有两种:对撞指针,快慢指针。原创 2024-11-16 21:18:08 · 1557 阅读 · 0 评论
分享