跟着灵茶山艾府大佬学习算法思路的day17(并没有在一个月内掌握hot100) b站链接如下: 区间 DP:最长回文子序列【基础算法精讲 22】 在数组的前缀或后缀上转移,这类题目一般称为线性DP,对于区间DP,我们会把问题规模缩小到数组中间的区间上,而不仅仅是前缀或后缀。 dp之所以不需要一个变量维护全局最优,因为全局最优一定由子问题最优组成。这就是dp和贪心或暴力的区别...
跟着灵茶山艾府大佬学习算法思路的day16(并没有在一个月内掌握hot100) b站链接如下: 买卖股票的最佳时机【基础算法精讲 21】 DP的参数就是限制,限制就是维度。 买卖股票的最佳时机 II 题目描述: 给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持...
跟着灵茶山艾府大佬学习算法思路的day15(并没有在一个月内掌握hot100) b站链接如下: 最长递增子序列【基础算法精讲 20】 dp问题常常从末尾状态往前思考比从初始状态往后思考容易,所以自顶向下的递归更容易推导出逻辑。不过爬楼梯、打家劫舍这类,状态转移只看前一步,即使不使用倒推的分解,从前往后也很直观。 最长递增子序列 题目描述: 给你一个整数数组 nums ,找到...
跟着灵茶山艾府大佬学习算法思路的day14(并没有在一个月内掌握hot100) b站链接如下: 最长公共子序列 编辑距离【基础算法精讲 19】 在默认情况下,子数组和子串是连续的,子序列不一定是连续的,但会保证子序列中的元素顺序仍遵循在原序列中的顺序。 最长公共子序列 题目描述: 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在...
跟着灵茶山艾府大佬学习算法思路的day13(并没有在一个月内掌握hot100) b站链接如下: 0-1背包 完全背包【基础算法精讲 18】 既然动态规划的递归可以优化为递推,为什么回溯问题不将递归改换为递推? 回溯本质就是递归,当然能转递推。但大多数回溯题没必要,因为回溯要的是所有方案本身,不是方案数或最优值。回溯求的是具体方案(每条路径都要输出),DP 求的是数值结果(方案数或最优...
跟着灵茶山艾府大佬学习算法思路的day12(并没有在一个月内掌握hot100) b站链接如下: 动态规划入门:从记忆化搜索到递推【基础算法精讲 17】 对于很多动态规划问题,也可以用选或不选和选哪个的思路来思考。 回溯的思路里面其实也有拆分子问题的特点,但是我们如果要给回溯和动态规划分类,我们一般认为回溯是遍历视角,动态规划是子问题视角,这是为什么呢? 因为关键区别在于:...
跟着灵茶山艾府大佬学习算法思路的day11(并没有在一个月内掌握hot100) b站链接如下: 回溯算法套路③排列型回溯+N皇后【基础算法精讲 16】 回溯算法本质就是遍历多叉树,只要能把问题抽象成树结构,就一定能用回溯算法解决。 “判断 → 不选 → 选(push/递归/pop)” 是子集和组合类回溯的标准模板。排列、搜索、分割等其他回溯题型模板不同,但核心思想都是”试错 →...
跟着灵茶山艾府大佬学习算法思路的day10(并没有在一个月内掌握hot100) b站链接如下: 回溯算法套路②组合型回溯+剪枝【基础算法精讲 15】 回溯算法本质就是遍历多叉树,只要能把问题抽象成树结构,就一定能用回溯算法解决。 “判断 → 不选 → 选(push/递归/pop)” 是子集和组合类回溯的标准模板。排列、搜索、分割等其他回溯题型模板不同,但核心思想都是”试错 → ...
开始根据林想的Web工坊大佬的建议路线学习CSS。 本文涉及内容会如下: CSS selectors - CSS | MDN CSS cascading and inheritance - CSS | MDN 级联(或层叠,Cascade)是一种算法,用于定义用户代理(User Agents)如何整合源自不同来源的属性值。 当多条 CSS 规则同时作用于同一个元素时,级联算法决定最...
开始阅读JavaScript高级程序设计(第5版)学习JS,总共有1000+页,非常全面,短期看完不太现实,找到了一篇博客,花些时间跟着这篇博客过一下红宝书。 JavaScript高级程序设计(第5版)微信读书 红宝书《JavaScript高级程序设计(第5版)》学习大纲 - 大前端全栈开发 - SegmentFault 思否 全文概览: 重要度 ...