首页
Tonite14
取消

hot100 栈

打算在这系列博客把hot100的题扫一遍,分模块来。 有效的括号 题目描述: 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号都有一个对应的相同类型的左括号。 示例 1: 输入:s = “()” 输出:true ...

hot100 二分查找

打算在这系列博客把hot100的题扫一遍,分模块来。 搜索插入位置 题目描述: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums = [1,3,5,6], target = 5 输出: 2 示例 2: 输入: nums = ...

hot100 图论

打算在这系列博客把hot100的题扫一遍,分模块来。 岛屿数量 题目描述: 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 示例 1: 输入:grid = [ ['1','1','1','1','0'], [...

重启DAY17 单调队列 滑动窗口最大值

跟着灵茶山艾府大佬学习算法思路的day17(并没有在一个月内掌握hot100) b站链接如下: 单调队列 滑动窗口最大值【基础算法精讲 27】 滑动窗口最大值 题目描述: 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1: 输入:...

重启DAY17 单调栈

跟着灵茶山艾府大佬学习算法思路的day17(并没有在一个月内掌握hot100) b站链接如下: 单调栈【基础算法精讲 26】 每日温度 题目描述: 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: ...

重启DAY17 区间 DP:最长回文子序列

跟着灵茶山艾府大佬学习算法思路的day17(并没有在一个月内掌握hot100) b站链接如下: 区间 DP:最长回文子序列【基础算法精讲 22】 在数组的前缀或后缀上转移,这类题目一般称为线性DP,对于区间DP,我们会把问题规模缩小到数组中间的区间上,而不仅仅是前缀或后缀。 dp之所以不需要一个变量维护全局最优,因为全局最优一定由子问题最优组成。这就是dp和贪心或暴力的区别...

重启DAY16 状态机DP 买卖股票的最佳时机

跟着灵茶山艾府大佬学习算法思路的day16(并没有在一个月内掌握hot100) b站链接如下: 买卖股票的最佳时机【基础算法精讲 21】 DP的参数就是限制,限制就是维度。 买卖股票的最佳时机 II 题目描述: 给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持...

重启DAY15 线性DP 最长递增子序列

跟着灵茶山艾府大佬学习算法思路的day15(并没有在一个月内掌握hot100) b站链接如下: 最长递增子序列【基础算法精讲 20】 dp问题常常从末尾状态往前思考比从初始状态往后思考容易,所以自顶向下的递归更容易推导出逻辑。不过爬楼梯、打家劫舍这类,状态转移只看前一步,即使不使用倒推的分解,从前往后也很直观。 最长递增子序列 题目描述: 给你一个整数数组 nums ,找到...

重启DAY14 线性DP 最长公共子序列 编辑距离

跟着灵茶山艾府大佬学习算法思路的day14(并没有在一个月内掌握hot100) b站链接如下: 最长公共子序列 编辑距离【基础算法精讲 19】 在默认情况下,子数组和子串是连续的,子序列不一定是连续的,但会保证子序列中的元素顺序仍遵循在原序列中的顺序。 最长公共子序列 题目描述: 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在...

重启DAY13 0-1背包 完全背包

跟着灵茶山艾府大佬学习算法思路的day13(并没有在一个月内掌握hot100) b站链接如下: 0-1背包 完全背包【基础算法精讲 18】 既然动态规划的递归可以优化为递推,为什么回溯问题不将递归改换为递推? 回溯本质就是递归,当然能转递推。但大多数回溯题没必要,因为回溯要的是所有方案本身,不是方案数或最优值。回溯求的是具体方案(每条路径都要输出),DP 求的是数值结果(方案数或最优...