自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (1)
  • 收藏
  • 关注

原创 动态规划之子序列(三)

最长回文子序列、回文子串、编辑距离

2024-03-31 22:49:30 944

原创 动态规划之子序列(二)

不想交的线、不同的子序列、最大子序和、判断子序列

2024-03-31 14:15:16 671

原创 动态规划之子序列(一)

最长递增子序列、最长重复子数组、最长连续递增序列

2024-03-31 12:06:49 920

原创 leetcode 栈和队列1

你只能使用标准的栈操作 – 也就是只有 push to top, peek/pop from top, size, 和 is empty 操作是合法的。你可以使用 list 或者 deque(双端队列)来模拟一个栈,只要是标准的栈操作即可。假设所有操作都是有效的 (例如,一个空的队列不会调用 pop 或者 peek 操作)。// 返回 false。push(x) – 将一个元素放入队列的尾部。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。pop() – 从队列首部移除元素。

2024-03-21 20:02:31 262

原创 leetcode-图专题系列

课程表

2024-03-18 20:57:18 377

原创 股票系列(动态规划)

动态规划买卖股票系列

2024-03-17 17:10:59 825

原创 leetcode-打家劫舍专题系列(动态规划)

成环之后还是难了一些的, 不少题解没有把“考虑房间”和“偷房间”说清楚。这就导致大家会有这样的困惑:情况三怎么就包含了情况一了呢?本文图中最后一间房不能偷啊,偷了一定不是最优结果。所以我在本文重点强调了情况一二三是“考虑”的范围,而具体房间偷与不偷交给递推公式去抉择。这样大家就不难理解情况二和情况三包含了情况一了。

2024-03-15 22:36:29 1020

原创 无重复字符的最长子串、最长回文子串

给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度。示例 1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。

2024-03-12 22:49:34 339

原创 leetcode单调栈

leetcode单调栈

2024-02-24 22:08:37 1237 1

原创 leetcode 动态规划(单词拆分)

139.单词拆分力扣题目链接(opens new window)给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = “leetcode”, wordDict = [“leet”, “code”]输出: true解释: 返回 true 因为 “leetcode” 可以被拆分成 “leet code”。

2024-01-13 22:01:45 975

原创 leetcode 动态规划(爬楼梯、零钱兑换、完全平方数)

卡码网:57. 爬楼梯(opens new window)假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬至多m (1 <= m < n)个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。输入描述:输入共一行,包含两个正整数,分别表示n, m输出描述:输出一个整数,表示爬到楼顶的方法数。输入示例:3 2输出示例:3提示:当 m = 2,n = 3 时,n = 3 这表示一共有三个台阶,m = 2 代表你每次可以爬一个台阶或者两个台阶。

2024-01-12 20:12:21 1195

原创 leetcode动态规划(零钱兑换II、组合总和 Ⅳ)

如果把遍历nums(物品)放在外循环,遍历target的作为内循环的话,举一个例子:计算dp[4]的时候,结果集只有 {1,3} 这样的集合,不会有{3,1}这样的集合,因为nums遍历放在外层,3只能出现在1后面!所有可能的组合为: (1, 1, 1, 1) (1, 1, 2) (1, 2, 1) (1, 3) (2, 1, 1) (2, 2) (3, 1)因为递推公式dp[i] += dp[i - nums[j]]的缘故,dp[0]要初始化为1,这样递归其他dp[i]的时候才会有数值基础。

2024-01-11 22:31:39 1029

原创 leetcode 动态规划(最后一块石头的重量II、目标和、一和零)

本题其实和416. 分割等和子集 (opens new window)几乎是一样的,只是最后对dp[target]的处理方式不同。分割等和子集 (opens new window)相当于是求背包是否正好装满,而本题是求背包最多能装多少。for stone in stones: # 遍历物品for j in range(target, stone - 1, -1): # 遍历背包(简化版)二维DP版# 创建二维dp数组,行数为石头的数量加1,列数为target加1。

2024-01-10 21:20:34 977

原创 动态规划(分割等和子集)

题目难易:中等给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。

2024-01-09 17:15:15 899

原创 动态规划(整数拆分、不同的二叉搜索树)

那么从1遍历j,比较(i - j) * j和dp[i - j] * j 取最大的。从递归公式上来讲,dp[以j为头结点左子树节点数量] * dp[以j为头结点右子树节点数量] 中以j为头结点左子树节点数量为0,也需要dp[以j为头结点左子树节点数量] = 1, 否则乘法的结果就都变成0了。j的结束条件是 j < i - 1 ,其实 j < i 也是可以的,不过可以节省一步,例如让j = i - 1,的话,其实在 j = 1的时候,这一步就已经拆出来了,重复计算,所以 j < i - 1。

2024-01-08 20:52:43 737

原创 动态规划(不同路径1,不同路径2,整数拆分)

力扣题目链接(opens new window)一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?示例 1:输入:m = 3, n = 7输出:28示例 2:输入:m = 2, n = 3输出:3解释: 从左上角开始,总共有 3 条路径可以到达右下角。向右 -> 向右 -> 向下向右 -> 向下 -> 向右。

2024-01-06 16:16:30 939

原创 leetcode 动态规划(斐波那契数列、 爬楼梯、使用最小花费爬楼梯)

斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) = 0,F(1) = 1 F(n) = F(n - 1) + F(n - 2),其中 n > 1 给你n ,请计算 F(n)。

2024-01-05 09:25:57 461

原创 leetcode贪心(单调递增的数字、监控二叉树)

给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。(当且仅当每个相邻位数上的数字 x 和 y 满足 x

2024-01-04 08:20:08 466

原创 leetcode贪心(无重叠区间、划分字母区间、合并区间)

给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。注意: 可以认为区间的终点总是大于它的起点。区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。示例 1:输入: [ [1,2], [2,3], [3,4], [1,3] ]输出: 1解释: 移除 [1,3] 后,剩下的区间没有重叠。示例 2:输入: [ [1,2], [1,2], [1,2] ]输出: 2解释: 你需要移除两个 [1,2] 来使剩下的区间没有重叠。

2024-01-03 09:57:33 417

原创 leetcode 贪心(柃檬水找零、根据身高重建队列、引爆气球)

在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。注意,一开始你手头没有任何零钱。如果你能给每位顾客正确找零,返回 true ,否则返回 false。示例 1:输入:[5,5,5,10,20]输出:true解释:前 3 位顾客那里,我们按顺序收取 3 张 5 美元的钞票。

2024-01-02 08:15:16 749

原创 leetcode 贪心(分发糖果、K次取反后最大化的数组和、加油站)

给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个索引 i 并将 A[i] 替换为 -A[i],然后总共重复这个过程 K 次。(我们可以多次选择同一个索引 i。以这种方式修改数组后,返回数组可能的最大和。示例 1:输入:A = [4,2,3], K = 1输出:5解释:选择索引 (1,) ,然后 A 变为 [4,-2,3]。示例 2:输入:A = [3,-1,0,2], K = 3输出:6解释:选择索引 (1, 2, 2) ,然后 A 变为 [3,1,0,2]。

2024-01-01 09:34:06 896

原创 leetcode 贪心(买卖股票2、跳跃游戏)

给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4。

2023-12-30 19:52:10 330

原创 leetcode贪心(最大子序列和、分发饼干、摆动序列)

455.分发饼干假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j]。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。示例 1:输入: g = [1,2,3], s = [1,1]

2023-12-29 16:44:16 465

原创 leetcode回溯(N皇后、解数独)

力扣题目链接(opens new window)n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。示例 1:输入:n = 4输出:[[“.Q…”,“…Q”,“Q…”,“…Q.”],[“…Q.”,“Q…”,“…Q”,“.Q…”]]

2023-12-28 20:07:57 342

原创 leetcode递增子序列、排列

给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。示例:输入: [4, 6, 7, 7]输出: [[4, 6], [4, 7], [4, 6, 7], [4, 6, 7, 7], [6, 7], [6, 7, 7], [7,7], [4,7,7]]说明:给定数组的长度不会超过15。数组中的整数范围是 [-100,100]。给定数组中可能包含重复数字,相等的数字应该被视为递增的一种情况。

2023-12-27 20:50:37 410

原创 leetcode 复原ip、子集

给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。有效的 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。例如:“0.1.2.201” 和 “192.168.1.1” 是 有效的 IP 地址,但是 “0.011.255.245”、“192.168.1.312” 和 “[email protected]” 是 无效的 IP 地址。示例 1:输入:s = “25525511135”

2023-12-26 20:04:21 423

原创 leetcode 组合、分割字符串

力扣题目链接(opens new window)给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。

2023-12-25 21:03:04 365

原创 leetcode 回溯(组合、电话号码)

找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。说明:所有数字都是正整数。解集不能包含重复的组合。示例 1: 输入: k = 3, n = 7 输出: [[1,2,4]]示例 2: 输入: k = 3, n = 9 输出: [[1,2,6], [1,3,5], [2,3,4]]

2023-12-23 21:46:21 420

原创 leetcode 组合(回溯)

组合、回溯

2023-12-22 15:31:11 362

原创 leetcode 二叉树修剪、有序数组转二叉树、累加树

力扣题目链接(opens new window)给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>=L)。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。

2023-12-21 19:44:23 327

原创 leecode二叉搜索树最近公共祖先、添加节点、删除节点

力扣题目链接(opens new window)给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。

2023-12-20 22:18:12 363

原创 leetcode 二叉树众数、最小绝对差、最近公共祖先

给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。示例:提示:树中至少有 2 个节点。

2023-12-19 20:59:41 347

原创 leetcode 最大二叉树、搜索树相关题

给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下:二叉树的根是数组中的最大元素。左子树是通过数组中最大值左边部分构造出的最大二叉树。右子树是通过数组中最大值右边部分构造出的最大二叉树。通过给定的数组构建最大二叉树,并且输出这个树的根节点。示例 :654.最大二叉树提示:给定的数组的大小在 [1, 1000] 之间。617.合并二叉树给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。

2023-12-18 20:48:20 349 1

原创 leetcode二叉树5

给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。返回 true, 因为存在目标和为 22 的根节点到叶子节点的路径 5->4->11->2。中序遍历 inorder = [9,3,15,20,7]给定一个二叉树,在树的最后一行找到最左边的值。根据一棵树的中序遍历与后序遍历构造二叉树。说明: 叶子节点是指没有子节点的节点。(版本一)递归法 + 回溯。(版本二) 递归 + 精简。(版本二) 递归 + 精简。(版本二)递归法+精简。

2023-12-16 22:24:01 37 1

原创 leetcode 二叉树系列4

本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。给定二叉树 [1,2,2,3,3,null,null,4,4]给定二叉树 [3,9,20,null,null,15,7]给定一个二叉树,返回所有从根节点到叶子节点的路径。给定一个二叉树,判断它是否是高度平衡的二叉树。说明: 叶子节点是指没有子节点的节点。返回 false。

2023-12-15 21:07:44 20

原创 leetcode二叉树系列求对称、求最小、最大深度

leetcode二叉树系列求对称、求最小、最大深度

2023-12-14 20:57:41 38 1

原创 leetcode二叉树中层序遍历和翻转二叉树

leetcode二叉树中层序遍历和翻转二叉树

2023-12-13 21:12:21 52 1

原创 leetcode 前中后序递归遍历

leetcode 前中后序递归遍历

2023-12-12 10:09:23 312

原创 leetcode栈与队列3

leetcode ,347前k个高频元素,239. 滑动窗口最大值

2023-12-11 13:43:44 35 1

原创 leetcode 栈与队列2

leetcode 栈和队列

2023-12-09 07:55:38 22

第二章leetcode题目代码.py

第二章leetcode题目代码.py

2022-11-17

Tidb安装最全文档

Tidb安装最全文档,里面包括安装细节,以及注意细节,帮助你快速上手Tidb

2018-07-30

空空如也

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

TA关注的人

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