随笔分类 -  LeetCode

摘要:题目: 给你一个整数数组nums和一个整数target 。 向数组中的每个整数前添加'+'或'-',然后串联起所有整数,可以构造一个表达式 : 例如,nums=[2, 1],可以在 2 之前添加'+',在1之前添加'-',然后串联起来得到表达式"+2-1"。 返回可以通过上述方法构造的、运算结果等于 阅读全文
posted @ 2023-03-01 14:56 壹索007 阅读(10) 评论(0) 推荐(0) 编辑
摘要:题目: 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限制重复被选取 阅读全文
posted @ 2023-03-01 14:20 壹索007 阅读(12) 评论(0) 推荐(0) 编辑
摘要:题目: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 输入:digits = "23" 输出:["ad","ae","af","bd","be","bf","cd","c 阅读全文
posted @ 2023-02-28 21:52 壹索007 阅读(12) 评论(0) 推荐(0) 编辑
摘要:题目: 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9 每个数字最多使用一次 返回所有可能的有效组合的列表。该列表不能包含相同的组合两次,组合可以以任何顺序返回。 示例: 输入: k = 3, n = 9 输出: [[1,2,6], [1,3,5], [2,3,4]] 阅读全文
posted @ 2023-02-28 21:18 壹索007 阅读(13) 评论(0) 推荐(0) 编辑
摘要:题目: 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例: 输入:n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 思路: 要解决 n为100,k为50的 阅读全文
posted @ 2023-02-28 20:32 壹索007 阅读(17) 评论(0) 推荐(0) 编辑
摘要:题目: 有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第i块石头的重量。 每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下: 如果x==y,那么两块石头都会被完全粉碎; 如果x!=y,那么重量为 阅读全文
posted @ 2023-02-27 21:08 壹索007 阅读(20) 评论(0) 推荐(0) 编辑
摘要:题目: 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例: 输入:nums = [1,5,11,5] 输出:true 解释:数组可以分割成 [1, 5, 5] 和 [11] 。 思路: 背包问题:有N件物品和一个最多能背重 阅读全文
posted @ 2023-02-27 20:54 壹索007 阅读(16) 评论(0) 推荐(0) 编辑
摘要:题目: 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例: 输入:n = 3 输出:5 思路: 披着二叉树外套的动态规划题 class Solution { public int numTrees(int n) 阅读全文
posted @ 2023-02-24 22:21 壹索007 阅读(15) 评论(0) 推荐(0) 编辑
摘要:题目: 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k >= 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例: 输入: n = 2 输出: 1 解释: 2 = 1 + 1, 1 × 1 = 1。 思路: 硬推:从n=1到n=10一一举例,会发现是S(4)是第一 阅读全文
posted @ 2023-02-24 18:04 壹索007 阅读(25) 评论(0) 推荐(0) 编辑
摘要:题目: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”)。 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径? 网格中的障碍物和空位置分别用 阅读全文
posted @ 2023-02-23 23:05 壹索007 阅读(17) 评论(0) 推荐(0) 编辑
摘要:题目: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? 示例: 输入:m = 3, n = 7 输出:28 思路: 我觉得如 阅读全文
posted @ 2023-02-23 22:01 壹索007 阅读(19) 评论(0) 推荐(0) 编辑
摘要:题目: 给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 请你计算并返回达到楼梯顶部的最低花费。 示例: 输入:cost = [10,15,20 阅读全文
posted @ 2023-02-22 22:24 壹索007 阅读(23) 评论(0) 推荐(0) 编辑
摘要:题目: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例: 输入:n = 2 输出:2 解释:有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 输入:n = 3 输出:3 解释:有三种方法可以爬到楼顶。 1. 阅读全文
posted @ 2023-02-22 21:34 壹索007 阅读(15) 评论(0) 推荐(0) 编辑
摘要:题目: 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) = 0,F(1) = 1 F(n) = F(n - 1) + F(n - 2),其中 n > 1 给定 n ,请计算 F(n) 。 示例 阅读全文
posted @ 2023-02-22 21:20 壹索007 阅读(16) 评论(0) 推荐(0) 编辑
摘要:题目: 给出二叉搜索树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。 提醒一下,二叉搜索树满足下列约束条件: 节点的左子树仅包含键小于节点键的节点。 节点的右子树仅包含键大于节点 阅读全文
posted @ 2023-02-21 20:37 壹索007 阅读(12) 评论(0) 推荐(0) 编辑
摘要:题目: 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 示例: 输入:nums = [-10,-3,0,5,9] 输出:[0,-3,9,-10,null, 阅读全文
posted @ 2023-02-21 18:04 壹索007 阅读(18) 评论(0) 推荐(0) 编辑
摘要:题目: 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保留)。 可以证明,存在 唯一的答案 。 所以结果应 阅读全文
posted @ 2023-02-21 17:09 壹索007 阅读(11) 评论(0) 推荐(0) 编辑
摘要:题目: 给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。 一般来说,删除节点可分为两个步骤: 首先找到需要删除的节点; 如果找到了,删除它。 示例: 输入:root = [5,3 阅读全文
posted @ 2023-02-21 12:07 壹索007 阅读(14) 评论(0) 推荐(0) 编辑
摘要:题目: 给定二叉搜索树(BST)的根节点 root 和要插入树中的值 value ,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 ,新值和原始二叉搜索树中的任意节点值都不同。 注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回 任意有效的结果 阅读全文
posted @ 2023-02-08 23:23 壹索007 阅读(13) 评论(0) 推荐(0) 编辑
摘要:题目: 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉搜索树: root = 阅读全文
posted @ 2023-02-08 22:34 壹索007 阅读(11) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示