Lazy Blog
10
31
30
二分查找算法题 二分查找算法题
二分查找算法题注意二分查找要求 必须 数据有序 无重复,换句话说 单增 或 单减 且最好是 数组,因为数组随机访问时间复杂度为O(1), 链表则为O(n),链表二分查找时间复杂度为O(nlgn) 704. 二分查找https://leetc
2021-10-30
27
贪心算法题 贪心算法题
贪心算法题学到的解题方法 假设某道题需要 找到一堆 单增 或 单减,数据中 相反的那个,则用栈。 贪心要 找对贪心的方向,有时候从前向后,有时候从后向前 每一个数 需要和前一个数进行比较 并且含某种规律 用栈 打算循环里套循环跳过数的时候,
2021-10-27
27
38.分治算法 38.分治算法
分治算法divide and conquer 核心: 分而治之 将原问题分成n个规模较小,且结构与原问题相似的子问题, 递归解决子问题,合并其结果,得到原问题的解. 递归的定义类似于分治分治是一种处理问题的思想,递归是一种编程技巧分治算法
2021-10-27
27
39.回溯算法 39.回溯算法
39.回溯算法回溯算法的本质是枚举,有规律 分步骤 的枚举所有解, 每一步 有多个岔路口,当发现当前路走不通时,回到上一个路口,换条路继续走。 适用于缺乏规律,或还不了解其规律的搜索场景中。 分治算法实战八皇后问题8 * 8 的期盼,放8个
2021-10-27
26
37.贪心算法 37.贪心算法
贪心算法贪心算法关键是多联系,记住 其核心是 保证 每一步做出当前 性价比最高的选择 解题步骤 第一步, 一组数据 限制值 期望值 三个关键字 第二步, 运用贪心思想, 每次都选择 当次情况下 同等限制资源对期望贡献最高的数据 第三步, 举
2021-10-26
23
查找链表环结构的入口结点 查找链表环结构的入口结点
查找链表环结构的入口结点上吴师兄的算法课,刷leetcode时,遇到了 ‘查找链表环结构的入口结点’这题. 看完 leetcode 的 ‘快慢指针,两次赛跑’(我取的名) 的解法时,一脸懵逼. 结合 吴师兄给的 示例动图/解析, 并 划水整
2021-10-23
21
排序算法题 排序算法题
排序算法题学到的解题方法 双指针 设置map,值设为键 理解题意的根本条件 冒泡排序(bubbleSort)const bubbleSort = function(Array) { if(!Array.length ||
2021-10-21
19
队列算法题 队列算法题
队列算法题需要位置对比的题目,队列 或 栈 内放的不是数,而是位置i 一般要不考察单增队列,要不就单减队列 3.用栈实现队列 ( LeetCode 232 )var MyQueue = function() { this.
2021-10-19
18
栈算法题 栈算法题
栈算法题技巧1:栈内存放 数据数组下标,比较时通过 数据数组下标拿到数据进行比较存放 数据数组下标,可以快速定位数据位置(直接拿到下标),也可以通过下标快速拿数据但是 存放数据的话就不好再去拿下标,用于 需要操作下标的情况 技巧2:需要位置
2021-10-18
13
链表算法题 链表算法题
链表算法题链表题常见解法 创建一个新链表。let newHead = new ListNode() 需要使用到记录【前一个节点】这种概念时,要用到 newHead 这种虚拟头节点 记录 被循环的节点 的next。const next
2021-10-13