随笔分类 - LeetCode
摘要:LeetCode:救生艇【881】 题目描述 第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。 返回载到每一个人所需的最小船数。(保证每个人都能被船载)。 示例 1: 示例 2: 示例 3: 提示
阅读全文
摘要:LeetCode:柠檬水找零【860】 题目描述 在柠檬水摊上,每一杯柠檬水的售价为 5 美元。 顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。 每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付
阅读全文
摘要:LeetCode:有效三角形的个数【611】 题目描述 给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数。 示例 1: 注意: 题目分析 Java题解
阅读全文
摘要:LeetCode:安排工作以达到最大收益【455】 题目描述 有一些工作:difficulty[i] 表示第i个工作的难度,profit[i]表示第i个工作的收益。 现在我们有一些工人。worker[i]是第i个工人的能力,即该工人只能完成难度小于等于worker[i]的工作。 每一个工人都最多只能
阅读全文
摘要:LeetCode:划分字母区间【763】 题目描述 字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段。返回一个表示每个字符串片段的长度的列表。 示例 1: 注意: 题目分析 Java题解
阅读全文
摘要:LeetCode:递增的三元子序列【334】 题目描述 给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列。 数学表达式如下: 说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1) 。 示例 1: 示例 2: 题目分析 Java题解
阅读全文
摘要:LeetCode:用最少的箭引爆气球【452】 题目描述 在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以y坐标并不重要,因此只要知道开始和结束的x坐标就足够了。开始坐标总是小于结束坐标。平面内最多存在104个气球。 一支弓箭可以沿着
阅读全文
摘要:LeetCode:分发饼干【455】 题目描述 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼
阅读全文
摘要:LeetCode:最接近的三数之和【16】 题目描述 给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 例如,给定数组 nums = [-1,2,1,-4], 和
阅读全文
摘要:LeetCode:将有序数组转换为二叉搜索树【108】 题目描述 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 题目分析 BST树的建立是唯一的吗?即使给定有序数组,我认为BST也是
阅读全文
摘要:LeetCode:有效的括号【20】 题目描述 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 注意空字符串可被认为是有效字符串。 示例 1: 示例 2: 示例 3: 示例 4: 示例 5: 题目分析 我觉得这题有点难度,但是如果会
阅读全文
摘要:LeetCode:跳跃游戏【55】 题目描述 给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。 示例 1: 示例 2: 题目分析 这道题最好的解法应该就是动态规划,但是怎么个规划法呢? 我们可以这样想,如果倒数第二个
阅读全文
摘要:LeetCode:奇偶链表【328】 题目描述 给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。 请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总
阅读全文
摘要:LeetCode:删除链表中的节点【203】 题目描述 删除链表中等于给定值 val 的所有节点。 示例: 题目分析 链表的经典问题。首先我们要清楚这不是双向链表,进行删除操作,一定要知道待删除节点的前一个和后一个节点,后一个节点可以用Node.next代指,但是前一个需要一个专用的指针,所以这就是
阅读全文
摘要:LeetCode:寻找旋转排序数组中的最小值【153】 题目描述 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 请找出其中最小的元素。 你可以假设数组中不存在重复元素。 示例 1: 示例 2:
阅读全文
摘要:LeetCode:砖墙【554】 题目描述 你的面前有一堵方形的、由多行砖块组成的砖墙。 这些砖块高度相同但是宽度不同。你现在要画一条自顶向下的、穿过最少砖块的垂线。 砖墙由行的列表表示。 每一行都是一个代表从左至右每块砖的宽度的整数列表。 如果你画的线只是从砖块的边缘经过,就不算穿过这块砖。你需要
阅读全文
摘要:LeetCode:矩形区域【223】 题目描述 在二维平面上计算出两个由直线构成的矩形重叠后形成的总面积。 每个矩形由其左下顶点和右上顶点坐标表示,如图所示。 示例: 输入: -3, 0, 3, 4, 0, -1, 9, 2 输出: 45 说明: 假设矩形面积不会超出 int 的范围。 题目分析 这
阅读全文
摘要:LeetCode:二叉树剪枝【814】 题目描述 给定二叉树根结点 root ,此外树的每个结点的值要么是 0,要么是 1。 返回移除了所有不包含 1 的子树的原二叉树。 ( 节点 X 的子树为 X 本身,以及所有 X 的后代。) 说明: 给定的二叉树最多有 100 个节点。 每个节点的值只会为 0
阅读全文
摘要:LeetCode:访问所有节点的最短路径【847】 题目描述 给出 graph 为有 N 个节点(编号为 0, 1, 2, ..., N-1)的无向连通图。 graph.length = N,且只有节点 i 和 j 连通时,j != i 在列表 graph[i] 中恰好出现一次。 返回能够访问所有节
阅读全文
摘要:LeetCode:N叉树的最大深度【559】 题目描述 给定一个N叉树,找到其最大深度。 最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。 例如,给定一个 3叉树 : 我们应返回其最大深度,3。 说明: 题目分析 我们可以使用BFS(宽度优先搜索)来求解该问题,思路是这样的,我们一层一层的
阅读全文

浙公网安备 33010602011771号