随笔分类 -  LeetCode

上一页 1 2 3 4 5 6 7 8 ··· 11 下一页
摘要:问题 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的大小,该子集中 最多 有 m 个 0 和 n 个 1 。 如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集 。 示例 输入: strs = ["10", "0001", " 阅读全文
posted @ 2021-04-02 15:29 tmpUser 阅读(82) 评论(0) 推荐(0)
摘要:问题 给定一个非负整数数组,a1, a2, ..., an, 和一个目标数,S。现在你有两个符号 + 和 -。对于数组中的任意一个整数,你都可以从 + 或 -中选择一个符号添加在前面。 返回可以使最终数组和为目标数 S 的所有添加符号的方法数。 示例 输入: nums: [1, 1, 1, 1, 1 阅读全文
posted @ 2021-04-02 14:36 tmpUser 阅读(57) 评论(0) 推荐(0)
摘要:问题 有一堆石头,每块石头的重量都是正整数。 每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x ⇐ y。那么粉碎的可能结果如下: 如果 x == y,那么两块石头都会被完全粉碎; 如果 x != y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头 阅读全文
posted @ 2021-04-02 14:15 tmpUser 阅读(85) 评论(0) 推荐(0)
摘要:问题 给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例 输入: [1, 5, 11, 5] 输出: true 解释: 数组可以分割成 [1, 5, 5] 和 [11]. 解答1:背包问题模版 class Solution { public: bool 阅读全文
posted @ 2021-04-02 14:01 tmpUser 阅读(80) 评论(0) 推荐(0)
摘要:问题 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。 注意:答案中不可以包含重复的四元组。 示例 输入: nums = [ 阅读全文
posted @ 2021-04-02 10:00 tmpUser 阅读(68) 评论(0) 推荐(0)
摘要:问题 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例 输入: nums = [-1,0,1,2,-1,-4] 输出: [[-1,-1, 阅读全文
posted @ 2021-04-02 09:51 tmpUser 阅读(51) 评论(0) 推荐(0)
摘要:问题 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 输入: nums = [2,7,11,15] 阅读全文
posted @ 2021-04-02 09:41 tmpUser 阅读(45) 评论(0) 推荐(0)
摘要:问题 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构造并返回输入数组 people 所表示的队列。返回的 阅读全文
posted @ 2021-04-01 19:00 tmpUser 阅读(62) 评论(0) 推荐(0)
摘要:问题 珂珂喜欢吃香蕉。这里有 N 堆香蕉,第 i 堆中有 piles[i] 根香蕉。警卫已经离开了,将在 H 小时后回来。 珂珂可以决定她吃香蕉的速度 K (单位:根/小时)。每个小时,她将会选择一堆香蕉,从中吃掉 K 根。如果这堆香蕉少于 K 根,她将吃掉这堆的所有香蕉,然后这一小时内不会再吃更多 阅读全文
posted @ 2021-03-30 10:30 tmpUser 阅读(87) 评论(0) 推荐(0)
摘要:问题 给定一个非负整数数组 nums 和一个整数 m ,你需要将这个数组分成 m 个非空的连续子数组。 设计一个算法使得这 m 个子数组各自和的最大值最小。 示例 输入:nums = [7,2,5,10,8], m = 2 输出:18 解释: 一共有四种方法将 nums 分割为 2 个子数组。 其中 阅读全文
posted @ 2021-03-29 16:51 tmpUser 阅读(87) 评论(0) 推荐(0)
摘要:问题 给定一个整数 n, 返回从 1 到 n 的字典顺序。 请尽可能的优化算法的时间复杂度和空间复杂度。 输入的数据 n 小于等于 5,000,000。 示例 输入: 13 输出: [1,10,11,12,13,2,3,4,5,6,7,8,9] 解答 class Solution { public: 阅读全文
posted @ 2021-03-29 16:32 tmpUser 阅读(48) 评论(0) 推荐(0)
摘要:问题 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 解答1:前缀和(O(n*m^2)) class Solution { public: int maximalRectangle(vector<vector<char>>& 阅读全文
posted @ 2021-03-29 11:31 tmpUser 阅读(96) 评论(0) 推荐(0)
摘要:问题 在一个由 '0' 和 '1' 组成的二维矩阵内,找到只包含 '1' 的最大正方形,并返回其面积。 解答 class Solution { public: int maximalSquare(vector<vector<char>>& matrix) { int res = 0; int m = 阅读全文
posted @ 2021-03-29 11:21 tmpUser 阅读(57) 评论(0) 推荐(0)
摘要:问题 给定两个用链表表示的整数,每个节点包含一个数位。这些数位是反向存放的,也就是个位排在链表首部。编写函数对这两个整数求和,并用链表形式返回结果。 示例 输入: (7 → 1 → 6) + (5 → 9 → 2),即617 + 295 输出: 2 → 1 → 9,即912 解答 class Sol 阅读全文
posted @ 2021-03-29 11:02 tmpUser 阅读(56) 评论(0) 推荐(0)
摘要:问题 实现一个二叉搜索树迭代器类BSTIterator ,表示一个按中序遍历二叉搜索树(BST)的迭代器: BSTIterator(TreeNode root) 初始化 BSTIterator 类的一个对象。BST 的根节点 root 会作为构造函数的一部分给出。指针应初始化为一个不存在于 BST 阅读全文
posted @ 2021-03-28 00:45 tmpUser 阅读(58) 评论(0) 推荐(0)
摘要:问题 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保留 两个分区中每个节点的初始相对位置。 示例 解答 class Solution { public: ListNode* partition(Li 阅读全文
posted @ 2021-03-27 13:17 tmpUser 阅读(61) 评论(0) 推荐(0)
摘要:问题 对链表进行插入排序。 插入排序算法: 插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表; 每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入; 重复直到所有输入数据插入完为止。 解答 class Solution { pub 阅读全文
posted @ 2021-03-27 13:10 tmpUser 阅读(39) 评论(0) 推荐(0)
摘要:问题 给定一个单链表 L:L0→L1→…→Ln-1→Ln , 将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→… 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例 给定链表 1->2->3->4, 重新排列为 1->4->2->3。 解答 class Solut 阅读全文
posted @ 2021-03-27 12:17 tmpUser 阅读(36) 评论(0) 推荐(0)
摘要:问题 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 输入: head = [-1,5,3,4,0] 输出: [-1,0,3,4,5] 解答1:归并排序 class Solution { public: ListNode* sortList(ListNode* he 阅读全文
posted @ 2021-03-27 12:10 tmpUser 阅读(43) 评论(0) 推荐(0)
摘要:问题 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 示例 输入: lists = [[1,4,5],[1,3,4],[2,6]] 输出: [1,1,2,3,4,4,5,6] 解答1:归并排序 class Solution { public: L 阅读全文
posted @ 2021-03-27 12:02 tmpUser 阅读(47) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 ··· 11 下一页