Lazy Blog
贪心算法题 贪心算法题
贪心算法题学到的解题方法 假设某道题需要 找到一堆 单增 或 单减,数据中 相反的那个,则用栈。 贪心要 找对贪心的方向,有时候从前向后,有时候从后向前 每一个数 需要和前一个数进行比较 并且含某种规律 用栈 打算循环里套循环跳过数的时候,
2021-10-27
38.分治算法 38.分治算法
分治算法divide and conquer 核心: 分而治之 将原问题分成n个规模较小,且结构与原问题相似的子问题, 递归解决子问题,合并其结果,得到原问题的解. 递归的定义类似于分治分治是一种处理问题的思想,递归是一种编程技巧分治算法
2021-10-27
39.回溯算法 39.回溯算法
39.回溯算法回溯算法的本质是枚举,有规律 分步骤 的枚举所有解, 每一步 有多个岔路口,当发现当前路走不通时,回到上一个路口,换条路继续走。 适用于缺乏规律,或还不了解其规律的搜索场景中。 分治算法实战八皇后问题8 * 8 的期盼,放8个
2021-10-27
37.贪心算法 37.贪心算法
贪心算法贪心算法关键是多联系,记住 其核心是 保证 每一步做出当前 性价比最高的选择 解题步骤 第一步, 一组数据 限制值 期望值 三个关键字 第二步, 运用贪心思想, 每次都选择 当次情况下 同等限制资源对期望贡献最高的数据 第三步, 举
2021-10-26
查找链表环结构的入口结点 查找链表环结构的入口结点
查找链表环结构的入口结点上吴师兄的算法课,刷leetcode时,遇到了 ‘查找链表环结构的入口结点’这题. 看完 leetcode 的 ‘快慢指针,两次赛跑’(我取的名) 的解法时,一脸懵逼. 结合 吴师兄给的 示例动图/解析, 并 划水整
2021-10-23
排序算法题 排序算法题
排序算法题学到的解题方法 双指针 设置map,值设为键 理解题意的根本条件 冒泡排序(bubbleSort)const bubbleSort = function(Array) { if(!Array.length ||
2021-10-21
队列算法题 队列算法题
队列算法题需要位置对比的题目,队列 或 栈 内放的不是数,而是位置i 一般要不考察单增队列,要不就单减队列 3.用栈实现队列 ( LeetCode 232 )var MyQueue = function() { this.
2021-10-19
栈算法题 栈算法题
栈算法题技巧1:栈内存放 数据数组下标,比较时通过 数据数组下标拿到数据进行比较存放 数据数组下标,可以快速定位数据位置(直接拿到下标),也可以通过下标快速拿数据但是 存放数据的话就不好再去拿下标,用于 需要操作下标的情况 技巧2:需要位置
2021-10-18
链表算法题 链表算法题
链表算法题链表题常见解法 创建一个新链表。let newHead = new ListNode() 需要使用到记录【前一个节点】这种概念时,要用到 newHead 这种虚拟头节点 记录 被循环的节点 的next。const next
2021-10-13
6.TS类型保护和类型变换 6.TS类型保护和类型变换
TS 类型保护这两个部分不那么重要,记点可能用的上的 类型保护就是通过关键字判断出分支中的类型 typeoffunction double(input: string | number | boolean) { if (typ
2021-09-25
5.TS兼容性 5.TS兼容性
TS兼容性兼容性的原则是Duck-Check, 首先要理解什么是TS的兼容性? 被赋值的变量的类型中的属性 在赋值源的类型 中都存在 类型检查就会通过 接口的兼容性函数传入的 变量类型 与 声明类型 不匹配TS会进行兼容性检查 interf
2021-09-25
4.TS泛型 4.TS泛型
TS泛型泛型(Generics)是指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定类型的一种特性 使用场景 入参和返回值的类型有映射关系 泛型 泛型函数// 泛型简单使用 function cre
2021-09-24
7 / 11