看似一致的面积问题
这两道题看起来是比较类似的,都是求二维矩阵中的面积问题,但是两题的解题思路完全不一致。
第一道题可以使用使用二维dp数组表示构成最大正方形的最长边长,但是第二题不行,它边长是由长宽构成,如果使用动态规划,那么需要两个dp数组,一个代表最长宽,一个代表最长高。
如果用第二题dp代表最大矩形面积,这样又会没有递推关系。
但是关于矩形面积都有一个统一思路就是求,最长宽高,得到最长的宽高也就得到了最大矩形面积
这两道题看起来是比较类似的,都是求二维矩阵中的面积问题,但是两题的解题思路完全不一致。
第一道题可以使用使用二维dp数组表示构成最大正方形的最长边长,但是第二题不行,它边长是由长宽构成,如果使用动态规划,那么需要两个dp数组,一个代表最长宽,一个代表最长高。
如果用第二题dp代表最大矩形面积,这样又会没有递推关系。
但是关于矩形面积都有一个统一思路就是求,最长宽高,得到最长的宽高也就得到了最大矩形面积
给定字符串 s 和 t ,判断 s 是否为 t 的子序列。
字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)
给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。
子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。
给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。
给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。
你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。
有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。这是标准的背包问题。但是力扣上没有标准的背包问题,有的只是一些变形问题。
但是只有基本的背包问题理解清楚,其他的变形问题才能够完全明白,因此我们先拿标准的背包问题进行分析。
| 重量 | 价值 | |
|---|---|---|
| 物品0 | 1 | 15 |
| 物品1 | 3 | 20 |
| 物品2 | 4 | 30 |
回文字符串
如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。
62. 不同路径——基础类型
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。
问总共有多少条不同的路径?
示例 1: