算法
文章平均质量分 84
leetcode
asd23rsa
这个作者很懒,什么都没留下…
展开
-
算法分类汇总
算法总结原创 2021-06-15 18:09:01 · 2660 阅读 · 0 评论 -
leetcode二分查找算法总结
正常版本/*** 二分查找,找到该值在数组中的下标,否则为-1*/public static int binarySerach(int[] array, int key) { int left = 0; int right = array.length - 1; // 这里必须是 <= while (left <= right) { int mid = left + (right-left)/2; // 养成习惯 ...原创 2021-04-08 17:48:31 · 378 阅读 · 0 评论 -
栈总结
首先记住这句话,笔试都遇到好几次了:从数据结构角度看,栈也是线性表!目录Leetcode150.逆波兰表达式求值LeetCode1021.删除最外层的括号LeetCode921.使括号有效的最少添加LeetCode1047.删除字符串中的所有相邻重复项LeetCode面试题03.04.化栈为队LeetCode682.棒球比赛LeetCode496.下一个更大的元素ILeetcode150.逆波兰表达式求值————————————————最经典的一道栈的题目,原创 2021-04-01 17:41:58 · 207 阅读 · 0 评论 -
前缀和汇总
LeetCode 【前缀和】整理降措 2020-05-27 20:02:38 249 收藏 1文章标签: leetcode版权560.和为 K 的子数组974.和可被 K 整除的子数组1248.统计[优美子数组]1371.每个元音包含偶数次的最长子字符串解题过程leetcode 437 求路径总和等于给定值的路径数假设 preSum[i] 是数组 A[1]、A[2],...,A[n] 的前缀和,则:preSum[i] = A[1]+A[2] +...+A[i]数组 A 的子数组A[原创 2021-03-24 10:58:00 · 292 阅读 · 0 评论 -
二叉树总结
leetcode 二叉树题目总结 一.基本问题 遍历 前序遍历 后序遍历 中序遍历 莫里斯遍历:空间复杂度O(1) 层次遍历 由序列构造二叉树 递归解决二叉树问题: 将二叉树转换为其他结构 二叉树结构: class TreeNode { int val; TreeNode left; TreeNode right; TreeNode() {}原创 2021-03-22 14:35:17 · 158 阅读 · 0 评论 -
快慢指针&双指针
[leetcode]灵魂画师图解????快慢指针在算法中的应用天下武功, 无坚不破, 唯快不破 ——— 某功夫大佬本文为我,leetcode easy player,algorithm小xuo生在刷题过程中对快慢指针的应用的总结ps: 向leetcode里耐心写解题, 特别是画图解题的各位算法大佬们致敬, 给大佬们递茶????什么是快慢指针快慢说的是移动的速度, 即每次移动的步长的大小 指针为记录变量内存地址的变量, 用它能间接访问变量的值为了更直观的了解快慢指针, 请看如下c+原创 2021-03-11 11:27:54 · 256 阅读 · 0 评论 -
leetcode阶段总结——拓扑排序
leetcode阶段总结——拓扑排序leetcode中经常出现的题型之一。其中,拓扑排序的概念可以参考这里,这里主要总结一下前300题中出现的几个关于拓扑排序的题,以待之后复习的时候查找。leetcode207 课程表 现在你总共有 n 门课需要选,记为 0 到 n-1。 在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1] 给定课程总量以及它们的先决条件,判断是否可能完成所有课程的学习?...原创 2021-02-28 17:41:47 · 607 阅读 · 0 评论 -
Leetcode_打家劫舍三道题(动态规划总结)
Leetcode_打家劫舍三道题(动态规划总结)分类专栏:Leetcode# 动态规划文章标签:动态规划leetcode算法LeetCode198打家劫舍leetCode213打家劫舍2LeetCode337打家劫舍3198. 打家劫舍你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算...原创 2021-02-22 10:45:38 · 146 阅读 · 0 评论 -
归并排序算法
LeetCode 148之Sort List的java题解 题目: Sort a linked list in O(n log n) time using constant space complexity. 解答: 解题报告:就是对一个链表进行归并排序。 主要考察3个知识点, 知识点1:归并排序的...原创 2021-02-16 23:41:23 · 150 阅读 · 2 评论 -
滑动窗口总结
滑动窗口思想: ①)窗口由两个指针构成,一个左指针left,一个右指针right,然后[left,right]表示的索引范围是一个窗口了。 ②)右指针right的功能是用来扩展窗口:当窗口内的条件没有达到题目要求时,我们需要不断移动右指针right直到窗口内的条件第一次满足题目要求为止。 ③)左指针left的功能是用来缩小窗口的:当窗口内的条件已满足题目条件或多于题目条件时(窗口溢出),我们缩小窗口,也就是左指针left需要右移直到窗口条件不满足为止。这时,我们需要记录当前窗口的大小,并更新目前为止满足转载 2021-02-16 12:56:04 · 206 阅读 · 0 评论 -
回溯算法总结2
leetcode回溯算法(backtracking)总结 <p>回溯算法的定义:回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。</p>回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回...原创 2021-02-01 23:54:56 · 120 阅读 · 0 评论 -
回溯算法总结
原文转载 2021-01-21 13:11:35 · 62 阅读 · 0 评论 -
01背包问题,完全背包问题,多重背包问题,二维数组 一维数组算法总结
适用动态规划的问题必须满足最优化原理、无后效性和重叠性。 a.最优化原理(最优子结构性质) 最优化原理可这样阐述:一个最优化策略具有这样的性质,不论过去状态和决策如何,对前面的决策所形成的状态而言,余下的诸决策必须构成最优策略。简而言之,一个最优化策略的子策略总是最优的。一个问题满足最优化原理又称其具有最优子结构性质。 b.无后效性 将各阶段按照一定的次序排列好之后,对于某个给定的阶段状态,它以前各阶段的状态无法直接影响它未来的决策,而只能通过当前的这个状态。换句话说,每个状态都是过去历史的转载 2021-01-18 14:27:35 · 1242 阅读 · 1 评论