
leetcode
文章平均质量分 66
ccessl
爱生活,爱猫咪
展开
-
LeetCode 410. 分割数组的最大值
题目描述:给定一个非负整数数组和一个整数 m,你需要将这个数组分成 m 个非空的连续子数组。设计一个算法使得这 m 个子数组各自和的最大值最小。注意:数组长度 n 满足以下条件:1 ≤ n ≤ 10001 ≤ m ≤ min(50, n)示例:输入:nums = [7,2,5,10,8]m = 2输出:18解释:一共有四种方法将nums分割为2个子数组。其中最好的方式是将其分为[...原创 2018-06-07 20:23:19 · 4132 阅读 · 0 评论 -
LeetCode 312. 戳气球(Burst Balloons)
题目描述:有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中。现在要求你戳破所有的气球。每当你戳破一个气球 i 时,你可以获得 nums[left] * nums[i] * nums[right] 个硬币。 这里的 left 和 right 代表和 i 相邻的两个气球的序号。注意当你戳破了气球 i 后,气球 left 和气球 right 就变成了相邻的气...原创 2018-06-22 15:39:57 · 1191 阅读 · 1 评论 -
LeetCode 315. 计算右侧小于当前元素的个数(Count of Smaller Numbers After Self)
题目描述:给定一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。示例:输入: [5,2,6,1]输出: [2,1,1,0] 解释:5 的右侧有 2 个更小的元素 (2 和 1).2 的右侧仅有 1 个更小的元素 (1).6 的右侧有 1 个更小的元素 (1)....原创 2018-06-22 10:41:59 · 1264 阅读 · 1 评论 -
LeetCode 123. 买卖股票的最佳时机 III(Best Time to Buy and Sell Stock III)
题目描述:给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [3,3,5,0,0,3,1,4]输出: 6解释: 在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利润 ...原创 2018-06-21 17:01:24 · 1021 阅读 · 0 评论 -
LeetCode 451. 根据字符出现频率排序(Sort Characters By Frequency)
题目描述:思路:JavaScript:原创 2018-06-21 16:49:21 · 625 阅读 · 0 评论 -
LeetCode 84. 柱状图中最大的矩形(Largest Rectangle in Histogram)
题目描述:给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。 示例:输入: [2,1,5,6,2,3]输出: 10思路:...原创 2018-06-21 14:34:06 · 1102 阅读 · 0 评论 -
LeetCode 397. 整数替换(Integer Replacement)
题目描述:给定一个正整数 n,你可以做如下操作:1. 如果 n 是偶数,则用 n / 2替换 n。2. 如果 n 是奇数,则可以用 n + 1或n - 1替换 n。n 变为 1 所需的最小替换次数是多少?示例 1:输入:8输出:3解释:8 -> 4 -> 2 -> 1示例 2:输入:7输出:4解释:7 -> 8 -> 4 -> 2 ...原创 2018-06-20 21:13:03 · 608 阅读 · 0 评论 -
LeetCode 396. 旋转函数(Rotate Function)
题目描述:给定一个长度为 n 的整数数组 A 。假设 Bk 是数组 A 顺时针旋转 k 个位置后的数组,我们定义 A 的“旋转函数” F 为:F(k) = 0 * Bk[0] + 1 * Bk[1] + ... + (n-1) * Bk[n-1]。计算F(0), F(1), ..., F(n-1)中的最大值。注意:可以认为 n 的值小于 105。示例:A = [4, 3, 2, 6]F(0) ...原创 2018-06-20 21:02:04 · 1470 阅读 · 0 评论 -
LeetCode 223. 矩形面积
题目描述:在二维平面上计算出两个由直线构成的矩形叠加覆盖后的面积。每个矩形由其左下顶点和右上顶点坐标表示,如图所示。示例:输入: A = -3, B = 0, C = 3, D = 4, E = 0, F = -1, G = 9, H = 2输出: 45说明:假设矩形面积不会超出 int 的范围。思路:覆盖后的面积=矩形1的面积+矩形2的面积-矩形交叉的面积;其中矩形的交叉有多重情况,这里先观察...原创 2018-06-06 21:29:02 · 461 阅读 · 0 评论 -
LeetCode 5. 最长回文子串
题目描述:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。示例 1:输入: "babad"输出: "bab"注意: "aba"也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"思路:动态规划考虑 \textrm{“ababa”}“ababa” 这个示例。如果我们已经知道 \textrm{“bab”}“bab” 是回文,那么很明显,\textrm{...原创 2018-06-07 14:56:39 · 519 阅读 · 0 评论 -
Leetcode 335. 路径交叉(Self Crossing)
题目描述:给定一个含有 n 个正数的数组 x。从点(0,0)开始,向北移动x[0]米,然后向西移动x[1]米,向南移动x[2]米,向东移动x[3]米,持续进行。换句话说,每次移动后你的方向都会逆时针变化。以 O(1)的空间复杂度写一个一遍扫描算法,判断你的路径是否交叉。示例 1:给定 x = [2, 1, 1, 2],?????? ????????> ?返回 true ...原创 2018-06-25 15:46:53 · 1138 阅读 · 0 评论