自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 0-1背包问题

dp[i][j]表示容量为j的背包,在物品i之前任取物品能达到的最大价值对于我们这个问题就是要确定dp[2][10]的值,就是代表了容量为10的背包,在物品2之前任取物品所能找到的最大价值dp[j]代表容量为j的背包所能装在的最大价值。

2024-05-06 16:26:14 222

原创 435. 无重叠区间

给定一个区间的集合 intervals ,其中 intervals[i] = [starti, endi]。返回 需要移除区间的最小数量,使剩余区间互不重叠。输入: intervals = [[1,2],[2,3],[3,4],[1,3]]输入: intervals = [ [1,2], [1,2], [1,2] ]

2024-05-06 15:56:20 226

原创 96. 不同的二叉搜索树

给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。

2024-04-02 15:54:34 127

原创 343. 整数拆分

给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k >= 2 ),并使这些整数的乘积最大化。返回 你可以获得的最大乘积。输入: n = 10。

2024-04-02 15:46:33 130

原创 63. 不同路径 II

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?输入:obstacleGrid = [[0,1],[0,0]]网格中的障碍物和空位置分别用 1 和 0 来表示。

2024-04-02 15:37:40 137

原创 62. 不同路径

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。输入:m = 3, n = 7。输入:m = 3, n = 2。问总共有多少条不同的路径?

2024-04-02 15:24:04 232

原创 746. 使用最小花费爬楼梯

给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。输入:cost = [1,100,1,1,1,100,1,1,100,1]你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。输入:cost = [10,15,20]请你计算并返回达到楼梯顶部的最低花费。

2024-03-30 14:04:38 89

原创 70. 爬楼梯

每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?需要 n 阶你才能到达楼顶。

2024-03-30 13:58:07 147

原创 509. 斐波那契数

斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。

2024-03-30 13:52:42 197

原创 968. 监控二叉树

输入:[0,0,null,0,null,0,null,null,0]节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。给定一个二叉树,我们在树的节点上安装摄像头。计算监控树的所有节点所需的最小摄像头数量。输入:[0,0,null,0,0]

2024-03-06 16:36:23 310

原创 738. 单调递增的数字

当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。给定一个整数 n ,返回 小于或等于 n 的最大数字,且数字呈 单调递增。输入: n = 1234。输入: n = 10。

2024-03-06 16:27:38 340

原创 56. 合并区间

以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [start。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。输入:intervals = [[1,3],[2,6],[8,10],[15,18]]输入:intervals = [[1,4],[4,5]]输出:[[1,6],[8,10],[15,18]]输出:[[1,5]]

2024-03-06 16:21:44 317

原创 763. 划分字母区间

给你一个字符串 s。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s。输入:s = “ababcbacadefegdehijhklij”返回一个表示每个字符串片段的长度的列表。输入:s = “eccbbbbdec”输出:[9,7,8]

2024-03-06 16:15:08 331

原创 452. 用最少数量的箭引爆气球

在坐标 x 处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足 xstart ≤ x ≤ xend,则该气球会被 引爆。可以射出的弓箭的数量 没有限制。墙面上的气球记录在整数数组 points ,其中points[i] = [xstart, xend] 表示水平直径在 xstart 和 xend之间的气球。输入:points = [[10,16],[2,8],[1,6],[7,12]]输入:points = [[1,2],[3,4],[5,6],[7,8]]

2024-03-04 16:15:48 360

原创 406. 根据身高重建队列

每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。输入:people = [[7,0],[4,4],[7,1],[5,0],[6,1],[5,2]]输入:people = [[6,0],[5,0],[4,0],[3,2],[2,2],[1,4]]输出:[[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]]输出:[[4,0],[5,0],[2,2],[3,2],[1,4],[6,0]]

2024-03-04 16:03:57 351

原创 860. 柠檬水找零

给你一个整数数组 bills ,其中 bills[i] 是第 i 位顾客付的账。如果你能给每位顾客正确找零,返回 true ,否则返回 false。每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。输入:bills = [5,5,10,10,20]输入:bills = [5,5,5,10,20]

2024-03-04 15:55:16 314

原创 135. 分发糖果

n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目。输入:ratings = [1,0,2]输入:ratings = [1,2,2]

2024-03-04 15:49:36 308

原创 134. 加油站

给定两个整数数组 gas 和 cost ,如果你可以按顺序绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。输入: gas = [1,2,3,4,5], cost = [3,4,5,1,2]在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。输入: gas = [2,3,4], cost = [3,4,3]

2024-03-04 15:40:45 305

原创 1005. K 次取反后最大化的数组和

选择某个下标 i 并将 nums[i] 替换为 -nums[i]。重复这个过程恰好 k 次。可以多次选择同一个下标 i。输入:nums = [3,-1,0,2], k = 3。以这种方式修改数组后,返回数组 可能的最大和。输入:nums = [4,2,3], k = 1。

2024-01-19 16:16:41 334

原创 45. 跳跃游戏 II

每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。返回到达 nums[n - 1] 的最小跳跃次数。生成的测试用例可以到达 nums[n - 1]。给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。输入: nums = [2,3,1,1,4]输入: nums = [2,3,0,1,4]题目保证可以到达 nums[n-1]

2024-01-19 15:48:23 376

原创 55. 跳跃游戏

给你一个非负整数数组 nums ,你最初位于数组的 第一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回 true;否则,返回 false。输入:nums = [2,3,1,1,4]输入:nums = [3,2,1,0,4]

2024-01-19 15:43:49 338

原创 122. 买卖股票的最佳时机 II

在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。输入:prices = [7,1,5,3,6,4]输入:prices = [1,2,3,4,5]返回 你能获得的 最大 利润。

2024-01-19 14:54:55 343

原创 53. 最大子数组和

给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。输入:nums = [-2,1,-3,4,-1,2,1,-5,4]子数组 是数组中的一个连续部分。输入:nums = [1]

2024-01-19 14:21:03 316

原创 376. 摆动序列

如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。输入:nums = [1,17,5,10,13,15,10,5,16,8]输入:nums = [1,7,4,9,2,5]

2024-01-19 14:08:52 386

原创 455. 分发饼干

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

2024-01-19 13:41:37 343

原创 37. 解数独

编写一个程序,通过填充空格来解决数独问题。

2023-12-22 15:21:47 866

原创 51. N 皇后

每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。输出:[[“Q”]]

2023-12-22 15:17:12 334

原创 332. 重新安排行程

输入:tickets = [[“JFK”,“SFO”],[“JFK”,“ATL”],[“SFO”,“ATL”],[“ATL”,“JFK”],[“ATL”,“SFO”]]输入:tickets = [[“MUC”,“LHR”],[“JFK”,“MUC”],[“SFO”,“SJC”],[“LHR”,“SFO”]]例如,行程 [“JFK”, “LGA”] 与 [“JFK”, “LGB”] 相比就更小,排序更靠前。输出:[“JFK”,“ATL”,“JFK”,“SFO”,“ATL”,“SFO”]

2023-12-22 15:14:10 359

原创 47. 全排列 II

输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。输入:nums = [1,1,2]输入:nums = [1,2,3]

2023-12-21 15:17:37 302

原创 46. 全排列

输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列。你可以 按任意顺序 返回答案。输入:nums = [1,2,3]输出:[[0,1],[1,0]]输入:nums = [0,1]

2023-12-21 15:12:19 354

原创 491. 非递减子序列

给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素。你可以按 任意顺序 返回答案。输出:[[4,6],[4,6,7],[4,6,7,7],[4,7],[4,7,7],[6,7],[6,7,7],[7,7]]数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。输入:nums = [4,4,3,2,1]输入:nums = [4,6,7,7]输出:[[4,4]]

2023-12-21 15:06:31 352

原创 90. 子集 II

给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。输出:[[],[1],[1,2],[1,2,2],[2],[2,2]]输入:nums = [1,2,2]输入:nums = [0]输出:[[],[0]]

2023-12-21 15:01:34 329

原创 78. 子集

给你一个整数数组 nums ,数组中的元素 互不相同。返回该数组所有可能的子集(幂集)。输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。输入:nums = [1,2,3]输入:nums = [0]输出:[[],[0]]

2023-12-21 14:59:38 308

原创 93. 复原 IP 地址

有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。输出:[“255.255.11.135”,“255.255.111.35”]输入:s = “25525511135”输出:[“0.0.0.0”]输入:s = “0000”

2023-12-21 14:56:25 366

原创 131. 分割回文串

给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串。返回 s 所有可能的分割方案。输出:[[“a”,“a”,“b”],[“aa”,“b”]]回文串 是正着读和反着读都一样的字符串。输入:s = “aab”输入:s = “a”输出:[[“a”]]

2023-12-21 14:49:06 356

原创 40. 组合总和 II

给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。输入: candidates = [10,1,2,7,6,1,5], target = 8,输入: candidates = [2,5,2,1,2], target = 5,candidates 中的每个数字在每个组合中只能使用 一次。注意:解集不能包含重复的组合。

2023-12-21 14:41:44 331

原创 39. 组合总和

给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。如果至少一个数字的被选数量不同,则两种组合是不同的。输入:candidates = [2,3,6,7], target = 7。输入: candidates = [2,3,5], target = 8。输出: [[2,2,2,2],[2,3,3],[3,5]]输出:[[2,2,3],[7]]

2023-12-21 14:33:57 274

原创 17. 电话号码的字母组合

输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。输入:digits = “23”输入:digits = “”

2023-12-20 15:07:41 394

原创 216. 组合总和 III

输出: [[1,2,6], [1,3,5], [2,3,4]]输入: k = 3, n = 7。输入: k = 3, n = 9。输出: [[1,2,4]]没有其他符合的组合了。没有其他符合的组合了。

2023-12-20 15:05:04 297

原创 77. 组合

给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。输入:n = 4, k = 2。输入:n = 1, k = 1。

2023-12-20 15:01:53 333

空空如也

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

TA关注的人

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