算法基础
文章平均质量分 71
面试常考基础算法合集:数组,链表,栈,队列,递归,排序(线性排序),二分,散列,哈希,二叉树,堆和堆排序,图的基础(遍历),DFS,BFS,贪心,分治,回溯,动态规划,要求会写
_不困
这个作者很懒,什么都没留下…
展开
-
双指针算法优化&例题
两个升序列有序数组A和B,以及目标值x,数组下标从0开始。求A[i] + B[j] == k 的 (i , j) 对 只有一组解。给定长度为n的整数序列,找出最长 不包含重复数字的连续子序列,输出长度。移动的速度一快一慢,以此来制造出自己想要的差值。核心:将O(n^2)算法优化到O(n)比如归并排序中合并两个有序序列的操作。数组目标元素的目标和。原创 2022-12-18 13:32:55 · 64 阅读 · 1 评论 -
二分查找算法模板&详解
给定一个按照升序排列的长度为 n 的整数数组,以及 q 个查询。对于每个查询,返回一个元素 k的起始位置和终止位置(位置从 0 开始计数)【思路】:在数组中查找某元素,找不到就输出-1,找到了就输出不小于该元素的最小位置和不大于该元素的最大位置。即,该区间内的元素可以划分为左右两侧,答案要么是左侧右端点,要么是右侧左端点。”:将区间用某条件一分为二, 保证区间中有答案。二分法的本质是寻找“原创 2022-12-16 16:32:32 · 77 阅读 · 0 评论 -
快速排序和归并排序模板&演示例题
基于’‘分治’': 分而治之,把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。给定长度为n的整数数列,对于数列中第i个元素和第j个元素,如果i< J 并且a[i] > a[j] 则成为逆序对。给定一个长度为 n 的整数数列,以及一个整数 k,请用快速选择算法求出数列从小到大排序后的第 k 个数。,复杂度为O(n+ n/2 + n/4+…原创 2022-12-15 19:10:46 · 157 阅读 · 0 评论 -
前缀和与差分算法详解
输入一个 n行m列的整数矩阵,再输入q个询问,每个询问包含四个整数x1,y1,x2,y2,表示一个子矩阵的左上角坐标和右下角坐标。接下来再输入 m个询问,每个询问输入一对l,r。输入长度为n序列,输入m次l,r,c,表示将序列中[l,r]之间的每个数加上c ,输出操作完的序列。,a数组变成 a[l] + c ,a[l+1] + c, a[n] + c;, a数组变成 a[r+1] - c,a[r+2] - c,a[n] - c;b[i][j]点+a[i][j]的值,下方,右方,右下方元素都-a[i,j]原创 2022-12-13 16:19:23 · 108 阅读 · 1 评论