摘要: 问题 给定一个非负整数数组 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)