随笔分类 -  算法

摘要:122. 买卖股票的最佳时机 II LeetCode题目要求 给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。 返回 你能获得的 最 阅读全文
posted @ 2023-02-12 22:13 blacksonny 阅读(9) 评论(0) 推荐(0) 编辑
摘要:455. 分发饼干 LeetCode题目要求 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以 阅读全文
posted @ 2023-02-06 08:51 blacksonny 阅读(14) 评论(0) 推荐(0) 编辑
摘要:[回溯总结] 回溯是递归的副产品,有递归就会有回溯; 回溯法经常和二叉树遍历,深度优先搜索混在一起,因为这两种方式都是用了递归。 回溯法就是暴力搜索,并不是什么高效的算法,最多再剪枝一下。 回溯算法能解决如下问题: 组合问题:N个数里面按一定规则找出k个数的集合 排列问题:N个数按一定规则全排列,有 阅读全文
posted @ 2023-02-01 08:46 blacksonny 阅读(20) 评论(0) 推荐(0) 编辑
摘要:47. 全排列 II LeetCode题目要求 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 示例 输入:nums = [1,1,2] 输出: [[1,1,2], [1,2,1], [2,1,1]] 解题思路 类似全排列,这里存在重复元素,关键在于对去重的处理:if 阅读全文
posted @ 2023-02-01 08:35 blacksonny 阅读(13) 评论(0) 推荐(0) 编辑
摘要:46. 全排列 LeetCode题目要求 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 解题思路 阅读全文
posted @ 2023-01-30 09:29 blacksonny 阅读(16) 评论(0) 推荐(0) 编辑
摘要:491. 递增子序列 LeetCode题目要求 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。 示例 1 输入:nums = [4,6 阅读全文
posted @ 2023-01-29 23:31 blacksonny 阅读(20) 评论(0) 推荐(0) 编辑
摘要:90. 子集 II LeetCode题目要求 给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。 示例 输入:nums = [1,2,2] 输出:[[],[1],[1,2],[1,2,2] 阅读全文
posted @ 2023-01-29 23:04 blacksonny 阅读(16) 评论(0) 推荐(0) 编辑
摘要:78. 子集 LeetCode题目要求 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 输入:nums = [1,2,3] 输出:[[],[1],[2],[1,2],[3],[1,3],[2 阅读全文
posted @ 2023-01-29 22:53 blacksonny 阅读(13) 评论(0) 推荐(0) 编辑
摘要:93. 复原 IP 地址 LeetCode题目要求 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址,但是 "0.011.255.245"、" 阅读全文
posted @ 2023-01-29 22:05 blacksonny 阅读(34) 评论(0) 推荐(0) 编辑
摘要:131. 分割回文串 LeetCode题目要求 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。 回文串 是正着读和反着读都一样的字符串。 示例 输入:s = "aab" 输出:[["a","a","b"],["aa","b"]] 解题思路 本 阅读全文
posted @ 2023-01-28 20:46 blacksonny 阅读(14) 评论(0) 推荐(0) 编辑
摘要:40. 组合总和 II LeetCode题目要求 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意:解集不能包含重复的组合。 阅读全文
posted @ 2023-01-28 20:21 blacksonny 阅读(16) 评论(0) 推荐(0) 编辑
摘要:39. 组合总和 LeetCode题目要求 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 阅读全文
posted @ 2023-01-28 19:27 blacksonny 阅读(13) 评论(0) 推荐(0) 编辑
摘要:17. 电话号码的字母组合 LeetCode题目要求 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 输入:digits = "23" 输出:["ad","ae","af", 阅读全文
posted @ 2023-01-28 12:57 blacksonny 阅读(78) 评论(0) 推荐(0) 编辑
摘要:216. 组合总和 III LeetCode题目要求 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9 每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。 示例 输入: k = 3, n = 7 输出: [[ 阅读全文
posted @ 2023-01-28 11:12 blacksonny 阅读(19) 评论(0) 推荐(0) 编辑
摘要:77. 组合 LeetCode题目要求 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 输入:n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 解题思路 阅读全文
posted @ 2023-01-27 23:34 blacksonny 阅读(17) 评论(0) 推荐(0) 编辑
摘要:538. 把二叉搜索树转换为累加树 LeetCode题目要求 给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。 提醒一下,二叉搜索树满足下列约束条件: 节点的左子 阅读全文
posted @ 2023-01-26 23:29 blacksonny 阅读(19) 评论(0) 推荐(0) 编辑
摘要:108. 将有序数组转换为二叉搜索树 LeetCode题目要求 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 示例 输入:nums = [-10,-3, 阅读全文
posted @ 2023-01-26 22:27 blacksonny 阅读(20) 评论(0) 推荐(0) 编辑
摘要:669. 修剪二叉搜索树 LeetCode题目要求 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保留)。 阅读全文
posted @ 2023-01-26 21:24 blacksonny 阅读(25) 评论(0) 推荐(0) 编辑
摘要:450. 删除二叉搜索树中的节点 LeetCode题目要求 给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。 一般来说,删除节点可分为两个步骤: 首先找到需要删除的节点; 如果找 阅读全文
posted @ 2023-01-25 23:08 blacksonny 阅读(13) 评论(0) 推荐(0) 编辑
摘要:701. 二叉搜索树中的插入操作 LeetCode题目要求 给定二叉搜索树(BST)的根节点 root 和要插入树中的值 value ,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 ,新值和原始二叉搜索树中的任意节点值都不同。 注意,可能存在多种有效的插入方式,只要树在插入后 阅读全文
posted @ 2023-01-25 21:31 blacksonny 阅读(26) 评论(0) 推荐(0) 编辑

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