03 2023 档案

摘要:力扣题目链接(opens new window) 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 class Solution { public int era 阅读全文
posted @ 2023-03-27 08:16 绝云气负青天 阅读(15) 评论(0) 推荐(0)
摘要:力扣题目链接(opens new window) 在柠檬水摊上,每一杯柠檬水的售价为 5 美元。 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。 每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 阅读全文
posted @ 2023-03-26 10:58 绝云气负青天 阅读(19) 评论(0) 推荐(0)
摘要:力扣题目链接(opens new window) 给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个索引 i 并将 A[i] 替换为 -A[i],然后总共重复这个过程 K 次。(我们可以多次选择同一个索引 i。) 以这种方式修改数组后,返回数组可能的最大和。 class Solutio 阅读全文
posted @ 2023-03-26 10:31 绝云气负青天 阅读(28) 评论(0) 推荐(0)
摘要:力扣题目链接(opens new window) 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 class Solut 阅读全文
posted @ 2023-03-19 21:07 绝云气负青天 阅读(16) 评论(0) 推荐(0)
摘要:力扣题目链接(opens new window) 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们 阅读全文
posted @ 2023-03-17 22:12 绝云气负青天 阅读(15) 评论(0) 推荐(0)
摘要:力扣题目链接(opens new window) 给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。 示例: 输入: [4, 6, 7, 7] 输出: [[4, 6], [4, 7], [4, 6, 7], [4, 6, 7, 7], [6, 7], [6, 7, 阅读全文
posted @ 2023-03-15 22:13 绝云气负青天 阅读(18) 评论(0) 推荐(0)
摘要:力扣题目链接(opens new window) 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 有效的 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔。 例如:"0.1.2.201" 和 "192.168.1 阅读全文
posted @ 2023-03-14 22:18 绝云气负青天 阅读(15) 评论(0) 推荐(0)
摘要:力扣题目链接(opens new window) 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 target)都是正 阅读全文
posted @ 2023-03-13 22:08 绝云气负青天 阅读(16) 评论(0) 推荐(0)
摘要:力扣题目链接(opens new window) 找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。 分析 本题就是在[1,2,3,4,5,6,7,8,9]这个集合中找到和为n的k个数的组合。 相对于77. 组合 (opens new 阅读全文
posted @ 2023-03-12 14:06 绝云气负青天 阅读(19) 评论(0) 推荐(0)
摘要:回溯法,一般可以解决如下几种问题: 组合问题:N个数里面按一定规则找出k个数的集合 切割问题:一个字符串按一定规则有几种切割方式 子集问题:一个N个数的集合里有多少符合条件的子集 排列问题:N个数按一定规则全排列,有几种排列方式 棋盘问题:N皇后,解数独等等 for循环就是遍历集合区间,可以理解一个 阅读全文
posted @ 2023-03-10 22:33 绝云气负青天 阅读(22) 评论(0) 推荐(0)
摘要:修剪二叉搜索树 分析:首先确定遍历顺序为中左右的前序遍历,对于中间节点,如果其值不在[low, high]的范围内,那么是需要修剪的节点,如果root.val < low,那么就需要一个大于root.val的节点来代替当前节点,所以需要向右遍历,并返回。同理,当root.val > high,向左遍 阅读全文
posted @ 2023-03-09 21:36 绝云气负青天 阅读(16) 评论(0) 推荐(0)
摘要:二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。 分析 所有 如果 中间节 阅读全文
posted @ 2023-03-08 20:37 绝云气负青天 阅读(20) 评论(0) 推荐(0)
摘要:二叉搜索树的最小绝对差 给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。 分析 pre节点记录一下cur节点的前一个节点。 class Solution { TreeNode pre ; int result=Integer.MAX_VALUE; public in 阅读全文
posted @ 2023-03-07 23:11 绝云气负青天 阅读(12) 评论(0) 推荐(0)
摘要:最大二叉树 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大值 右边 的 子数组后缀上 构建右子树。 返回 nums 构建的 最大二叉树  阅读全文
posted @ 2023-03-06 22:24 绝云气负青天 阅读(16) 评论(0) 推荐(0)
摘要:找树左下角的值 给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。 分析 用层序遍历 最底层的最左节点 递归 记录第一次到达下一层的节点值 class Solution { private int Deep=-1; private int value=0; public 阅读全文
posted @ 2023-03-04 23:49 绝云气负青天 阅读(15) 评论(0) 推荐(0)
摘要:左叶子之和 给定二叉树的根节点 root ,返回所有左叶子之和。 分析 后序遍历 因为需要先处理完子节点 返回结果给父节点 class Solution { public int sumOfLeftLeaves(TreeNode root) { if(root==null) return 0; re 阅读全文
posted @ 2023-03-03 21:36 绝云气负青天 阅读(18) 评论(0) 推荐(0)
摘要:二叉树的最大深度 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 分析 层序遍历 每层depth++ class Solution { public int maxDepth(TreeNode root) { Deque<TreeNode> deque = 阅读全文
posted @ 2023-03-02 22:29 绝云气负青天 阅读(18) 评论(0) 推荐(0)
摘要:二叉树的层序遍历 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 分析 用队列先进先出的特性, 将左右节点offer, 记录每层长度 class Solution { public List<List<Integer>> levelOrder(Tr 阅读全文
posted @ 2023-03-01 21:55 绝云气负青天 阅读(20) 评论(0) 推荐(0)