leetcode
文章平均质量分 58
tankpanv
这个作者很懒,什么都没留下…
展开
-
1191. K 次串联后最大子数组之和
一、题目描述:给你一个整数数组arr和一个整数k。首先,我们要对该数组进行修改,即把原数组 arr 重复k次。举个例子,如果arr= [1, 2] 且 k = 3,那么修改后的数组就是[1, 2, 1, 2, 1, 2]。然后,请你返回修改后的数组中的最大的子数组之和。注意,子数组长度可以是 0,在这种情况下它的总和也是 0。由于结果可能会很大,所以需要...原创 2019-12-06 11:07:28 · 167 阅读 · 0 评论 -
leetcode题:1. 两数之和(简单)
一、题目描述:1. 两数之和(简单)给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = ...原创 2019-07-23 23:01:11 · 100 阅读 · 0 评论 -
leetcode 题:698. 划分为k个相等的子集(中等)
一、题目描述:698. 划分为k个相等的子集(中等)给定一个整数数组nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。示例 1:输入: nums = [4, 3, 2, 3, 5, 2, 1], k = 4输出: True说明: 有可能将其分成 4 个子集(5),(1,4),(2,3),(2,3)等于总和。注意:1 <=...原创 2019-07-20 07:09:01 · 744 阅读 · 0 评论 -
leetcode题:19. 删除链表的倒数第N个节点(中等)
一、题目描述:19. 删除链表的倒数第N个节点(中等)给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n保证是有效的。来源:力扣(LeetCode)链接:https:/...原创 2019-07-20 17:26:59 · 104 阅读 · 0 评论 -
leetcode 题:1117. H2O 生成(C++多线程编程)(困难)
一、题目:1117. H2O 生成(难度:困难)现在有两种线程,氢 oxygen 和氧 hydrogen,你的目标是组织这两种线程来产生水分子。存在一个屏障(barrier)使得每个线程必须等候直到一个完整水分子能够被产生出来。氢和氧线程会被分别给予 releaseHydrogen 和 releaseOxygen 方法来允许它们突破屏障。这些线程应该三三成组突破屏障并能立即组合产...原创 2019-07-18 23:02:29 · 808 阅读 · 0 评论 -
leetcode题:7. 整数反转(简单)
一、题目说明:7. 整数反转(中等)给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231,231− 1]。请根据这个假设,如果反转后整数...原创 2019-07-25 01:32:23 · 104 阅读 · 0 评论 -
leetcode题:487. 最大连续1的个数 II(中等)
一、题目描述:487. 最大连续1的个数 II(中等)给定一个二进制数组,你可以最多将1 个 0 翻转为 1,找出其中最大连续 1 的个数。示例 1:输入:[1,0,1,1,0]输出:4解释:翻转第一个 0 可以得到最长的连续 1。 当翻转以后,最大连续 1 的个数为 4。注:输入数组只包含0和1.输入数组的长度为正整数,且不超过 10,000-...原创 2019-07-20 17:50:52 · 318 阅读 · 0 评论 -
leetcode题:11. 盛最多水的容器(中等)
一、题目描述:11. 盛最多水的容器(中等)给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,...原创 2019-07-20 19:49:35 · 116 阅读 · 0 评论 -
leetcode题:12. 整数转罗马数字(中等)
一、题目描述:12. 整数转罗马数字(中等)罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, ...原创 2019-07-21 02:35:54 · 146 阅读 · 0 评论 -
leetcod题:139. 单词拆分(中等)
一、题目描述:139. 单词拆分(中等)给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = "leetcode", wordDict = ["leet", "code"]输出: true解释: 返回...原创 2019-07-21 03:52:22 · 199 阅读 · 0 评论 -
leetcode题:15. 三数之和(中等)
一、题目描述:15. 三数之和(中等)给定一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1,...原创 2019-07-21 20:03:08 · 92 阅读 · 0 评论 -
leetcode题:16. 最接近的三数之和(中等)
1、题目描述:16. 最接近的三数之和(中等)给定一个包括n 个整数的数组nums和 一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 =...原创 2019-07-21 22:11:10 · 97 阅读 · 0 评论 -
leetcode题:26. 删除排序数组中的重复项(简单)
一、题目描述:26. 删除排序数组中的重复项(简单)给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。...原创 2019-07-26 00:30:47 · 126 阅读 · 0 评论 -
leetcode题:25. K 个一组翻转链表(困难)
一、题目描述:25. K 个一组翻转链表(困难)给你一个链表,每k个节点一组进行翻转,请你返回翻转后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么请将最后剩余的节点保持原有顺序。示例 :给定这个链表:1->2->3->4->5当k= 2 时,应当返回: 2->1->4->3-&g...原创 2019-08-04 21:50:10 · 102 阅读 · 0 评论 -
leetcode题:39. 组合总和(中等)
一、题目描述:39. 组合总和(中等)给定一个无重复元素的数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的数字可以无限制重复被选取。说明:所有数字(包括target)都是正整数。解集不能包含重复的组合。示例1:输入: candidates = [2,3,6,7...原创 2019-07-23 02:18:32 · 118 阅读 · 0 评论 -
leetcode题:29. 两数相除(中等)
一、题目描述:29. 两数相除(中等)给定两个整数,被除数dividend和除数divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数dividend除以除数divisor得到的商。示例1:输入: dividend = 10, divisor = 3输出: 3示例2:输入: dividend = 7, divisor = -3输...原创 2019-08-05 00:43:56 · 177 阅读 · 0 评论 -
leetcode题:17. 电话号码的字母组合(中等)
一、题目描述:17. 电话号码的字母组合(中等)给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].来源:力扣(LeetCode)链接:https://l...原创 2019-08-05 01:13:28 · 169 阅读 · 0 评论 -
leetcod题:33. 搜索旋转排序数组(中等)
一、题目描述:33. 搜索旋转排序数组(中等)假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组[0,1,2,4,5,6,7]可能变为[4,5,6,7,0,1,2])。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回-1。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是O(logn) 级别。示例 1:...原创 2019-07-27 05:58:12 · 91 阅读 · 0 评论 -
leetcode题:34. 在排序数组中查找元素的第一个和最后一个位置(中等)
一、题目描述:34. 在排序数组中查找元素的第一个和最后一个位置(中等)给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是O(log n) 级别。如果数组中不存在目标值,返回[-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: ...原创 2019-07-27 07:07:19 · 138 阅读 · 0 评论 -
leetcode题:64. 最小路径和(中等)
一、题目解析:64. 最小路径和(中等)给定一个包含非负整数的 mxn网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[[1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。来源:力扣(LeetCode)链接:https:...原创 2019-07-27 07:38:27 · 145 阅读 · 0 评论 -
leetcode题:174. 地下城游戏(困难)
一、题目描述:174. 地下城游戏(困难)一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即死亡。有些房间由恶魔守卫,因此骑士在进入这些房间时会失去健康点数(若房间...原创 2019-07-27 10:02:41 · 398 阅读 · 0 评论 -
leetcode题:518. 零钱兑换 II(中等)
一、题目描述:518. 零钱兑换 II(中等)给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。示例 1:输入: amount = 5, coins = [1, 2, 5]输出: 4解释: 有四种方式可以凑成总金额:5=55=2+2+15=2+1+1+15=1+1+1+1+1示例 2:输入: amount...原创 2019-08-08 01:13:50 · 227 阅读 · 0 评论 -
leetcode题:283. 移动零(简单)
一、题目描述:283. 移动零(简单)给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/m...原创 2019-08-08 01:34:26 · 135 阅读 · 0 评论 -
leetcode题:27. 移除元素(简单)
一、题目描述:27. 移除元素(简单)给定一个数组 nums和一个值 val,你需要原地移除所有数值等于val的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该...原创 2019-08-05 22:21:02 · 104 阅读 · 0 评论 -
leetcode题:80. 删除排序数组中的重复项 II(中等)
一、题目描述:80. 删除排序数组中的重复项 II(中等)给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例1:给定 nums = [1,1,1,2,2,3],函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为...原创 2019-08-08 10:59:33 · 102 阅读 · 0 评论 -
leetcode题:203. 移除链表元素(简单)
一、题目描述:203. 移除链表元素(简单)删除链表中等于给定值val的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5二、解题思路1、定义head指针和next指针,表示当前2、先通过while循环,判断如果head->value...原创 2019-08-05 22:44:18 · 112 阅读 · 0 评论 -
leetcode题:56. 合并区间(中等)
一、题目描述:56. 合并区间(中等)给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4]...原创 2019-08-05 23:31:36 · 254 阅读 · 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...原创 2019-08-06 02:03:37 · 114 阅读 · 0 评论 -
leetcode题:22. 括号生成(中等)
一、题目描述:22. 括号生成(中等)给出n代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]来源:力扣(LeetCode)链接:https://leetcode-cn.com/prob...原创 2019-08-06 14:58:53 · 112 阅读 · 0 评论 -
leetcode题:88. 合并两个有序数组(简单)
一、题目描述:88. 合并两个有序数组(中等)给定两个有序整数数组nums1 和 nums2,将 nums2 合并到nums1中,使得num1 成为一个有序数组。说明:初始化nums1 和 nums2 的元素数量分别为m 和 n。你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,...原创 2019-08-08 17:03:35 · 111 阅读 · 0 评论 -
leetcode题:215. 数组中的第K个最大元素(中等)
一、题目描述:215. 数组中的第K个最大元素(中等)在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1...原创 2019-08-08 19:47:09 · 122 阅读 · 0 评论 -
leetcode题:125. 验证回文串(简单)
一、题目描述:125. 验证回文串(简单)给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: false来源:力扣(LeetCode)链接:h...原创 2019-08-08 22:27:44 · 89 阅读 · 0 评论 -
leetcode题:344. 反转字符串(简单)
一、题目描述:344. 反转字符串(简单)编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:["h","e","l","l","o"]输出:["o",...原创 2019-08-08 23:05:02 · 141 阅读 · 0 评论 -
leetcode题:209. 长度最小的子数组(中等)
一、题目描述:209. 长度最小的子数组(中等)给定一个含有n个正整数的数组和一个正整数s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组[4,3]是该条件下的长度最小的连续子数组。进阶:如果你已经完成了O(n) 时间复...原创 2019-08-08 23:47:18 · 321 阅读 · 0 评论 -
leetcode题:55. 跳跃游戏(中等)
一、题目解析给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例1:输入: [2,3,1,1,4]输出: true解释: 从位置 0 到 1 跳 1 步, 然后跳 3 步到达最后一个位置。示例2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引...原创 2019-08-06 19:47:53 · 141 阅读 · 1 评论 -
刷leetcode的一些思想
1、分而治之:有点类似“大事化小、小事化了”的思想,经典的归并排序和快速排序都用到这种思想,可以看看 Search a 2D Matrix II 来理解这种思想。2、动态规划:有点类似数学中的归纳总结法,找出状态转移方程,然后逐步求解。 309. Best Time to Buy and Sell Stock with Cooldown 是理解动态规划的一个不错的例子。3、贪心算法:有时候只顾...原创 2019-08-06 21:14:40 · 113 阅读 · 0 评论 -
leetcode题:337. 打家劫舍 III(中等)
一、题目描述:337. 打家劫舍 III(中等)在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。计算在不触动警报的情况下,小偷一晚能...原创 2019-08-13 17:07:46 · 144 阅读 · 0 评论 -
leetcod题:75. 颜色分类(中等)
一、题目描述:75. 颜色分类(中等)给定一个包含红色、白色和蓝色,一共n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]进阶:一个直观...原创 2019-08-06 23:41:26 · 120 阅读 · 0 评论 -
leetcode题:264. 丑数 II(中等)
一、题目描述:264. 丑数 II(中等)编写一个程序,找出第 n 个丑数。丑数就是只包含质因数2, 3, 5 的正整数。示例:输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。说明:1是丑数。n不超过1690。来源:力扣(LeetCode)链接:https://leetcode-...原创 2019-08-13 20:41:35 · 104 阅读 · 0 评论 -
leetcode题:313. 超级丑数(中等)
一、题目描述:313. 超级丑数(中等)编写一段程序来查找第 n 个超级丑数。超级丑数是指其所有质因数都是长度为k的质数列表primes中的正整数。示例:输入: n = 12, primes = [2,7,13,19]输出: 32解释: 给定长度为 4 的质数列表 primes = [2,7,13,19],前 12 个超级丑数序列为:[1,2,4,7,8,13,14...原创 2019-08-13 22:01:36 · 218 阅读 · 0 评论