自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 【leetcode】周赛200---(1)1534. 统计三元组_3for(2)1535. 数组游戏赢家_队列(3)**1536. 网格最少交换数_3for(4)*1537. 最大得分_双指针_取余

1534、给你一个整数数组 arr ,以及 a、b 、c 三个整数。请你统计其中好三元组的数量。如果三元组 (arr[i], arr[j], arr[k]) 满足下列全部条件,则认为它是一个 好三元组 。 0 <= i < j < k < arr.length |arr[i] - arr[j]| <= a |arr[j] - arr[k]| <= b |arr[i] - arr[k]| <= c其中 |x| 表示 x ...

2020-08-20 10:01:31 233

原创 【leetcode】dp---中等(1)467. 环绕字符串中唯一的子字符串_dp字符_以26字母建立状态(2)474. 一和零_dp_01双背包(3)486. 预测赢家_dp博弈_A比B多的分数

467、把字符串 s 看作是“abcdefghijklmnopqrstuvwxyz”的无限环绕字符串,所以 s 看起来是这样的:"...zabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd....".现在我们有了另一个字符串 p 。你需要的是找出 s 中有多少个唯一的 p 的非空子串,尤其是当你的输入是字符串 p ,你需要输出字符串 s 中 p 的不同的非空子串的数目。注意: p 仅由小写的英文字母组成,p 的大小可能超过 1000...

2020-08-19 09:53:05 173

原创 【leetcode】dp---中等(1)413. 等差数列划分_dp序列组成(2)**416. 分割等和子集_dp_01背包_or(3)**464. 我能赢吗_dp博弈_状态压缩_minmax

413、如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列。例如,以下数列为等差数列:1, 3, 5, 7, 97, 7, 7, 73, -1, -5, -9以下数列不是等差数列。1, 1, 2, 5, 7数组 A 包含 N 个数,且索引从0开始。数组 A 的一个子数组划分为数组 (P, Q),P 与 Q 是整数且满足 0<=P<Q<N 。如果满足以下条件,则称子数组(P, Q)为等差数组:元素 A[P], A[p + 1], .

2020-08-17 11:00:23 333

原创 【leetcode】dp---中等(1)***375. 猜数字大小 II_dp最差下最优解_min(max())(2)376. 摆动序列_dp分类(3)*377. 组合总和 Ⅳ_dp背包问题集合

375、我们正在玩一个猜数游戏,游戏规则如下:我从 1 到 n 之间选择一个数字,你来猜我选了哪个数字。每次你猜错了,我都会告诉你,我选的数字比你的大了或者小了。然而,当你猜了数字 x 并且猜错了的时候,你需要支付金额为 x 的现金。直到你猜到我选的数字,你才算赢得了这个游戏。示例:n = 10, 我选择了8.第一轮: 你猜我选择的数字是5,我会告诉你,我的数字更大一些,然后你需要支付5块。第二轮: 你猜是7,我告诉你,我的数字更大一些,你支付7块。第三轮: 你猜是9,我告诉你.

2020-08-14 10:09:01 269

原创 【leetcode】dp---中等(1)343. 整数拆分_dp状态需循环(2)357. 计算各个位数不同的数字个数_dp排列组合(3)**368. 最大整除子集

343、给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。示例 1:输入: 10 输出: 36 解释: 10 = 3 + 3 + 4, 3 ×3 ×4 = 36。状态转移:逐个判断1~i-1中某个因子是否在在i的拆分集合中,dp[i]=max(dp[j]*dp[i-j],j*(i-j),j*dp[i-j],dp[j]*(i-j),dp[i]);// dp[i]:i正数,最大乘积// 状态转移:逐个判断1~i-1中某...

2020-08-13 15:38:25 230

原创 【leetcode】dp---中等(1)*****309. 最佳买卖股票时机含冷冻期_dp股票_买入卖出(2)322. 零钱兑换_dp步长因子_类丑数(3)338. 比特位计数_dp步长

309、给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。​设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票): 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。示例:输入: [1,2,3,0,2]输出: 3解释: 对应的交易状态为: [买入, 卖出, 冷冻期, 买入, 卖出]结果:...

2020-08-13 10:10:21 116

原创 【leetcode】dp---中等(1)**279. 完全平方数_dp数字序列_类二叉搜索树种数(2)300. 最长上升子序列_dp无序数列求有序(3)304. 二维区域和检索 _dp矩阵和

279、给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。示例 1:输入: n = 13输出: 2解释: 13 = 4 + 9.// dp[i]:数i需要最少的完全平方数个数。class Solution {public: int numSquares(int n) { vector<int> dp(n + 1, 0); for(int i .

2020-08-12 09:11:08 134

原创 【leetcode】dp---中等(1)213. 打家劫舍 II_dp两种初始(2)**221. 最大正方形_dp三个角最小值(3)**264. 丑数 II_dp多指针标记_序列

213、你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [2,3,2]输出: 3解释: 你不能先偷窃 1 号房屋(金额 = 2),然后偷窃 3 号房屋(金额 = 2), 因为他们是相邻的。.

2020-08-11 19:55:09 125

原创 【leetcode】dp---中等(1)120. 三角形最小路径和_dp迷宫(2)139. 单词拆分_dp序列_长度为状态(3)152. 乘积最大子数组_dp序列积_正负

120、给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。dp[i][j]=min(dp[i-1][j],dp[i-1][j-1])+grid[i]// d...

2020-08-11 14:55:51 120

原创 【leetcode】dp---中等(1)64. 最小路径和_dp迷宫(2)91. 解码方法_不定长子串(3)**95. 不同的二叉搜索树 II_dfs返回答案(4)**96. 不同的二叉搜索树_dp

64、给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[ [1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。dp[i][j]=min(dp[i-1][j],dp[i][j-1])+grid[i][j]// dp[i][j]:到(i,j)最短路劲和// 状态转移:1)左走一步,2)上走一步//...

2020-08-11 09:00:34 130

原创 【leetcode】dp---中等(1)**5. 最长回文子串_dp回文_对长度进行转移(2)62. 不同路径_dp迷宫(3)63. 不同路径 II_dp迷宫_有障碍

5、给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"dp[i][j]=(dp[i+1][j-1])&&(s[i]==s[j]); dp[i][i]=1; dp[i][j]=(s[i]==s[j]);// dp[i][j]:从下标i到下标j的子串,是否...

2020-08-10 14:18:48 163

原创 【leetcode】dp---简单(1)746. 使用最小花费爬楼梯_dp楼梯(2)1025. 除数博弈_dp_数学(3)面试题 08.01. 三步问题

746、数组的每个索引作为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 cost[i](索引从0开始)。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。示例 1:输入: cost = [10, 15, 20]输出: 15解释: 最低花费是从cost[1]开始,然后走两步即可到阶梯顶,一共花费15。示例 2:输入: cost = [1,..

2020-08-10 08:30:27 198

原创 【leetcode】dp---简单(1)198. 打家劫舍_dp类楼梯(2)303. 区域和检索_dp序列_可变范围和(3)392. 判断子序列_双指针

198、你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4 。...

2020-08-10 08:23:22 132

原创 【leetcode】dp---简单(1)53. 最大子序和_序列和(2)70. 爬楼梯(3)121. 买卖股票的最佳时机_序列两数差_股票1

53、给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。dp[i] = max(dp[i - 1] + nums[i] , nums[i]);// dp[i]: 以i为结尾的序列和的最大值. i:数组下标// 状态转移 :1) i归入前面的序列; 2) i独立开辟新的序列。// dp[i] = ...

2020-08-08 14:09:28 128

原创 【leetcode】周赛199---(1)1528. 重新排列字符串(2)1529. 灯泡开关 IV_开关问题(3)1530. 好叶子节点对的数量_dfs(4)1531. 压缩字符串 II_dp

1528、给你一个字符串 s 和一个 长度相同 的整数数组 indices 。请你重新排列字符串 s ,其中第 i 个字符需要移动到 indices[i] 指示的位置。返回重新排列后的字符串。示例 1:输入:s = "codeleet", indices = [4,5,6,7,0,2,1,3]输出:"leetcode"解释:如图所示,"codeleet" 重新排列后变为 "leetcode" 。class Solution {public: string rest.

2020-08-08 10:55:38 310

原创 【leetcode】周赛198---(1)1518. 换酒问题(2)1519. 子树中同标签节点数_dfs(3)1520. 最多的不重叠子字符串_贪心(4)**1521. 位运算

1518、小区便利店正在促销,用 numExchange 个空酒瓶可以兑换一瓶新酒。你购入了 numBottles 瓶酒。如果喝掉了酒瓶中的酒,那么酒瓶就会变成空的。请你计算 最多 能喝到多少瓶酒。示例 2:输入:numBottles = 15, numExchange = 4输出:19解释:你可以用 4 个空酒瓶兑换 1 瓶酒。所以最多能喝到 15 + 3 + 1 = 19 瓶酒。数学题,主要读懂题目意思class Solution {public: i..

2020-08-07 09:52:13 248

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除