
LeetCode
幻想乡_
爱生活爱B站爱哲♂学
为美好世界献上祝福
展开
-
LeetCode 4. 两个排序数组的中位数
原题地址4. 两个排序数组的中位数给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。请找出这两个有序数组的中位数。要求算法的时间复杂度为 O(log (m+n)) 。你可以假设 nums1 和 nums2 不同时为空。示例 1:ums1 = [1, 3]nums2 = [2]中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3...原创 2018-09-26 13:54:07 · 207 阅读 · 0 评论 -
LeetCode 922. 按奇偶排序数组 II
原题地址922. 按奇偶排序数组 II给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。你可以返回任何满足上述条件的数组作为答案。示例:输入:[4,2,5,7]输出:[4,5,2,7]解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受。...原创 2018-10-19 16:13:30 · 485 阅读 · 0 评论 -
LeetCode 927. 三等分
原题地址927. 三等分给定一个由 0 和 1 组成的数组 A,将数组分成 3 个非空的部分,使得所有这些部分表示相同的二进制值。如果可以做到,请返回任何 [i, j],其中 i+1 < j,这样一来:A[0], A[1], ..., A[i] 组成第一部分; A[i+1], A[i+2], ..., A[j-1] 作为第二部分; A[j], A[j+1], ..., A[A...原创 2018-10-21 11:10:07 · 930 阅读 · 0 评论 -
LeetCode 926. 将字符串翻转到单调递增
原题地址926. 将字符串翻转到单调递增如果一个由 '0' 和 '1' 组成的字符串,是以一些 '0'(可能没有 '0')后面跟着一些 '1'(也可能没有 '1')的形式组成的,那么该字符串是单调递增的。我们给出一个由字符 '0' 和 '1' 组成的字符串 S,我们可以将任何 '0' 翻转为 '1' 或者将 '1' 翻转为 '0'。返回使 S 单调递增的最小翻转次数。示例 1:...原创 2018-10-21 11:17:53 · 669 阅读 · 0 评论 -
LeetCode 925. 长按键入
原题地址925. 长按键入你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。示例 1:输入:name = "alex", typed = "aaleex"输出:true解释:'alex' 中...原创 2018-10-21 11:25:43 · 483 阅读 · 0 评论 -
LeetCode 39. 组合总和
原题地址39. 组合总和给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。 解集不能包含重复的组合。 示例 1:输入: candidates = [2,3,6,7], targ...原创 2018-10-26 16:25:38 · 196 阅读 · 0 评论 -
LeetCode 40. 组合总和 II
原题地址40. 组合总和 II给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。 解集不能包含重复的组合。 示例 1:输入: candidates = [10,1,2,7,6,1,5], ...原创 2018-10-26 16:53:31 · 252 阅读 · 0 评论 -
LeetCode 878. 第 N 个神奇数字
原题地址878. 第 N 个神奇数字如果正整数可以被 A 或 B 整除,那么它是神奇的。返回第 N 个神奇数字。由于答案可能非常大,返回它模 10^9 + 7 的结果。示例 1:输入:N = 1, A = 2, B = 3输出:2示例 2:输入:N = 4, A = 2, B = 3输出:6示例 3:输入:N = 5, A = 2, B = 4输出:10示例 ...原创 2018-10-24 13:57:38 · 984 阅读 · 0 评论 -
LeetCode 871. 最低加油次数
原题地址871. 最低加油次数汽车从起点出发驶向目的地,该目的地位于出发位置东面 target 英里处。沿途有加油站,每个 station[i] 代表一个加油站,它位于出发位置东面 station[i][0] 英里处,并且有 station[i][1] 升汽油。假设汽车油箱的容量是无限的,其中最初有 startFuel 升燃料。它每行驶 1 英里就会用掉 1 升汽油。当汽车到达加油...原创 2018-10-24 15:02:41 · 748 阅读 · 0 评论 -
LeetCode 921. 使括号有效的最少添加
原题地址921. 使括号有效的最少添加给定一个由 '(' 和 ')' 括号组成的字符串 S,我们需要添加最少的括号( '(' 或是 ')',可以在任何位置),以使得到的括号字符串有效。从形式上讲,只有满足下面几点之一,括号字符串才是有效的:它是一个空字符串,或者 它可以被写成 AB (A 与 B 连接), 其中 A 和 B 都是有效字符串,或者 它可以被写作 (A),其中 A 是有...原创 2018-10-19 15:55:52 · 545 阅读 · 0 评论 -
LeetCode 88. 合并两个有序数组
原题地址88. 合并两个有序数组 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3...原创 2018-09-27 20:12:46 · 264 阅读 · 0 评论 -
LeetCode 104. 二叉树的最大深度
原题地址104. 二叉树的最大深度 给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。算法递归呗代码# Defi...原创 2018-09-27 19:59:08 · 195 阅读 · 0 评论 -
LeetCode 32. 最长有效括号
原题地址32. 最长有效括号给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2:输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()"算法需要一个与字符串字符数等长的数组 cal 标记每个括号的组队情况,对每个 '(' 压栈,...原创 2018-09-26 14:07:56 · 223 阅读 · 0 评论 -
LeetCode 42. 接雨水
原题地址42. 接雨水给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6算法...原创 2018-09-26 14:23:58 · 198 阅读 · 0 评论 -
LeetCode 239. 滑动窗口最大值
原题地址239. 滑动窗口最大值给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口 k 内的数字。滑动窗口每次只向右移动一位。返回滑动窗口最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 ...原创 2018-09-26 14:36:19 · 612 阅读 · 0 评论 -
LeetCode 910. 最小差值 II
原题地址910. 最小差值 II 给定一个整数数组 A,对于每个整数 A[i],我们可以选择 x = -K 或是 x = K,并将 x 加到 A[i] 中。在此过程之后,我们得到一些数组 B。返回 B 的最大值和 B 的最小值之间可能存在的最小差值。 示例 1:输入:A = [1], K = 0输出:0解释:B = [1]示例 2:输入:A = [0,1...原创 2018-09-26 14:47:49 · 1084 阅读 · 0 评论 -
LeetCode 907. 子数组的最小值之和
原题地址907. 子数组的最小值之和给定一个整数数组 A,找到 min(B) 的总和,其中 B 的范围为 A 的每个(连续)子数组。由于答案可能很大,因此返回答案模 10^9 + 7。 示例:输入:[3,1,2,4]输出:17解释:子数组为 [3],[1],[2],[4],[3,1],[1,2],[2,4],[3,1,2],[1,2,4],[3,1,2,4]。 最小值...原创 2018-09-27 08:56:17 · 1691 阅读 · 0 评论 -
LeetCode 893. 特殊等价字符串组
原题地址893. 特殊等价字符串组 你将得到一个字符串数组 A。如果经过任意次数的移动,S == T,那么两个字符串 S 和 T 是特殊等价的。 一次移动包括选择两个索引 i 和 j,且 i%2 == j%2,并且交换 S[j] 和 S [i]。现在规定,A 中的特殊等价字符串组是 A 的非空子集 S,这样不在 S 中的任何字符串与 S 中的任何字符串都不是特殊等价的。...原创 2018-09-27 09:33:48 · 881 阅读 · 0 评论 -
LeetCode 906. 超级回文数
原题地址906. 超级回文数 如果一个正整数自身是回文数,而且它也是一个回文数的平方,那么我们称这个数为超级回文数。现在,给定两个正整数 L 和 R (以字符串形式表示),返回包含在范围 [L, R] 中的超级回文数的数目。 示例:输入:L = "4", R = "1000"输出:4解释:4,9,121,以及 484 是超级回文数。注意 676 不是一个超级回文数...原创 2018-09-27 15:06:41 · 1239 阅读 · 0 评论 -
LeetCode 231. 2的幂
原题地址231. 2的幂 给定一个整数,编写一个函数来判断它是否是 2 的幂次方。示例 1:输入: 1输出: true解释: 20 = 1示例 2:输入: 16输出: true解释: 24 = 16示例 3:输入: 218输出: false算法写成二进制形式只有 1 个 1 ,并且只有大于0 才可能是 2 的幂次方。代码def fu...原创 2018-09-27 19:48:22 · 162 阅读 · 0 评论 -
LeetCode 899. 有序队列
原题地址899. 有序队列给出了一个由小写字母组成的字符串 S。然后,我们可以进行任意次数的移动。在每次移动中,我们选择前 K 个字母中的一个(从左侧开始),将其从原位置移除,并放置在字符串的末尾。返回我们在任意次数的移动之后可以拥有的按字典顺序排列的最小字符串。示例 1:输入:S = "cba", K = 1输出:"acb"解释:在第一步中,我们将第一个字符(“c”)移...原创 2018-10-24 16:01:30 · 1213 阅读 · 0 评论