leetcode
帕特尼的小虾米
这个作者很懒,什么都没留下…
展开
-
LeetCode698. 划分为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 <= k <= len(nums) &...原创 2019-01-24 20:26:07 · 1079 阅读 · 1 评论 -
leetcode 887. 鸡蛋掉落
题目描述:你将获得K个鸡蛋,并可以使用一栋从1到N共有 N层楼的建筑。每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去。你知道存在楼层F ,满足0 <= F <= N 任何从高于 F的楼层落下的鸡蛋都会碎,从F楼层或比它低的楼层落下的鸡蛋都不会破。每次移动,你可以取一个鸡蛋(如果你有完整的鸡蛋)并把它从任一楼层X扔下(满足1 ...原创 2019-03-05 21:28:41 · 887 阅读 · 0 评论 -
leetcode 131. 分割回文串
题目描述给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。示例:输入:"aab"输出:[ ["aa","b"], ["a","a","b"]]解题思路:回溯 + 递归代码:class Solution {public: vector<vector<strin原创 2019-03-11 14:23:09 · 125 阅读 · 0 评论 -
leetcode 208. 实现 Trie (前缀树)
题目描述:实现一个 Trie (前缀树),包含insert,search, 和startsWith这三个操作。示例:Trie trie = new Trie();trie.insert("apple");trie.search("apple"); // 返回 truetrie.search("app"); // 返回 falsetrie.startsWi...原创 2019-03-15 16:02:27 · 241 阅读 · 0 评论 -
leetcode 139. 单词拆分 140. 单词拆分 II
139. 单词拆分题目描述:给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。示例 1:输入: s = "leetcode", wordDict = ["leet", "code"]输出: true解释: 返回 tr...原创 2019-03-11 19:40:01 · 163 阅读 · 0 评论 -
leetcode 125. 验证回文串
题目描述:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: falsec++ 方法:用 isalpha()函数(功能:如果参数是字...原创 2019-03-08 10:46:05 · 169 阅读 · 0 评论 -
leetcode 79. 单词搜索
题目描述:给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board =[ ['A','B','C','E'], ['S','F','C','S'], ['A','D','E','E']]给定 word =...原创 2019-03-19 13:55:45 · 116 阅读 · 0 评论 -
leetcode 140. 单词拆分 II(回溯法 +前缀树)
给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。说明:分隔时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。示例 1:输入:s = "catsanddog"wordDict = ["cat", "cats", "and", "sand", "dog"]...原创 2019-03-19 14:04:16 · 490 阅读 · 0 评论 -
leetcode 378. 有序矩阵中第K小的元素
给定一个n x n矩阵,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素。请注意,它是排序后的第k小元素,而不是第k个元素。示例:matrix = [ [ 1, 5, 9], [10, 11, 13], [12, 13, 15]],k = 8,返回 13。说明: 你可以假设 k 的值永远是有效的, 1 ≤ k ≤ n2。解题方法:...原创 2019-03-30 12:29:35 · 146 阅读 · 0 评论 -
leetcode 207. 课程表
现在你总共有 n 门课需要选,记为0到n-1。在选修某些课程之前需要一些先修课程。例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1,0]] 输出: true解释:总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。所以这是可能...原创 2019-04-06 22:11:37 · 120 阅读 · 0 评论 -
leetcode 179. 最大数
给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。示例 1:输入: [10,2]输出: 210示例2:输入: [3,30,34,5,9]输出: 9534330说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数。解题思路:对数组中的元素进行排序,判断是‘a’ + 'b' 组合大 还是‘b’ +‘a’ 组合大,最后要注意输入全是‘0’的...原创 2019-04-01 22:42:39 · 246 阅读 · 0 评论 -
leetcode 326. 3的幂
题目描述:给定一个整数,写一个函数来判断它是否是 3的幂次方。示例 1:输入: 27输出: true示例 2:输入: 0输出: false示例 3:输入: 9输出: true示例 4:输入: 45输出: false进阶:你能不使用循环或者递归来完成本题吗?解题:1. 使用循环或递归方法简单,思路是 从1开始乘3 or 从n开始除...原创 2019-04-30 22:09:42 · 124 阅读 · 0 评论 -
leetcode 229. 求众数 II (摩尔投票法)
题目描述:给定一个大小为n的数组,找出其中所有出现超过⌊ n/3 ⌋次的元素。说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1)。示例1:输入: [3,2,3]输出: [3]示例 2:输入: [1,1,1,3,3,2,2,2]输出: [1,2]解题思路:摩尔投票法:摩尔投票算法的时间和空间都很低,时间复杂度为O(n),空间复杂度为...原创 2019-02-26 16:11:41 · 1505 阅读 · 0 评论 -
leetcode 88. 合并两个有序数组
题目描述:给定两个有序整数数组nums1 和 nums2,将 nums2 合并到nums1中,使得num1 成为一个有序数组。说明:初始化nums1 和 nums2 的元素数量分别为m 和 n。 你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3...原创 2019-03-01 21:21:42 · 92 阅读 · 0 评论 -
LeetCode 416. 分割等和子集
题目描述:给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过 100 数组的大小不会超过 200示例 1:输入: [1, 5, 11, 5]输出: true解释: 数组可以分割成 [1, 5, 5] 和 [11].示例2:输入: [1, 2, 3, 5]输出: false...原创 2019-01-25 10:16:02 · 360 阅读 · 0 评论 -
leetcode 322. 零钱兑换
322. 零钱兑换(完全背包问题)给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。示例1:输入: coins = [1, 2, 5], amount = 11输出: 3 解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], a...原创 2019-01-25 11:37:40 · 296 阅读 · 0 评论 -
Leetcode 909 爬坡和梯子 c++
题目描述在一块 N x N 的板子board上,从板的左下角开始,每一行交替方向,按从1 到 N*N的数字给方格编号。例如,对于一块 6 x 6 大小的板子,可以编号如下:36 35 34 33 32 3125 26 27 28 29 3024 23 22 21 20 1913 14 15 16 17 1812 11 10 09 08 0701 02 03 04 05 ...原创 2019-01-22 16:07:13 · 430 阅读 · 0 评论 -
Leetcode 934. 最短的桥 (DFS + BFS)
题目描述:在给定的二维二进制数组A中,存在两座岛。(岛是由四面相连的 1 形成的一个最大组。)现在,我们可以将0变为1,以使两座岛连接起来,变成一座岛。返回必须翻转的0 的最小数目。(可以保证答案至少是 1。)示例 1:输入:[[0,1],[1,0]]输出:1示例 2:输入:[[0,1,0],[0,0,0],[0,0,1]]输出:2示例...原创 2019-01-23 15:31:35 · 361 阅读 · 0 评论 -
leetcode 799. 香槟塔
题目描述:我们把玻璃杯摆成金字塔的形状,其中第一层有1个玻璃杯,第二层有2个,依次类推到第100层,每个玻璃杯(250ml)将盛有香槟。从顶层的第一个玻璃杯开始倾倒一些香槟,当顶层的杯子满了,任何溢出的香槟都会立刻等流量的流向左右两侧的玻璃杯。当左右两边的杯子也满了,就会等流量的流向它们左右两边的杯子,依次类推。(当最底层的玻璃杯满了,香槟会流到地板上)例如,在倾倒一杯香槟后,最顶层的...原创 2019-02-09 19:07:47 · 445 阅读 · 0 评论 -
leetcode 436.寻找右区间
题目描述:给定一组区间,对于每一个区间 i,检查是否存在一个区间 j,它的起始点大于或等于区间i 的终点,这可以称为 j 在 i 的“右侧”。对于任何区间,你需要存储的满足条件的区间j 的最小索引,这意味着区间 j 有最小的起始点可以使其成为“右侧”区间。如果区间j 不存在,则将区间 i 存储为 -1。最后,你需要输出一个值为存储的区间值的数组。注意:你可以假设区间的终点总是...原创 2019-02-18 10:27:02 · 175 阅读 · 0 评论 -
leetcode 134. 加油站
题目描述:在一条环路上有N个加油站,其中第i个加油站有汽油gas[i]升。你有一辆油箱容量无限的的汽车,从第i个加油站开往第i+1个加油站需要消耗汽油cost[i]升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明:如果题目有解,该答案即为唯一答案。 输入数组均为非空数组,且长度相同...原创 2019-02-18 10:46:02 · 155 阅读 · 0 评论 -
leetcode 打家劫舍集合(198、 213、 337)
198. 打家劫舍题目描述:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 ...原创 2019-02-23 17:36:37 · 127 阅读 · 0 评论 -
leetcode 240. 搜索二维矩阵 II
题目描述:编写一个高效的算法来搜索mxn矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。 每列的元素从上到下升序排列。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13...原创 2019-02-28 17:26:00 · 101 阅读 · 0 评论 -
leetcode 740. 删除与获得点数
题目描述:给定一个整数数组nums,你可以对它进行一些操作。每次操作中,选择任意一个nums[i],删除它并获得nums[i]的点数。之后,你必须删除每个等于nums[i] - 1或nums[i] + 1的元素。开始你拥有 0 个点数。返回你能通过这些操作获得的最大点数。示例 1:输入: nums = [3, 4, 2]输出: 6解释: 删除 4 来...原创 2019-02-24 22:06:20 · 274 阅读 · 0 评论 -
leetcode 679. 24点游戏
题目描述:你有 4 张写有 1 到 9 数字的牌。你需要判断是否能通过*,/,+,-,(,)的运算得到 24。示例 1:输入: [4, 1, 8, 7]输出: True解释: (8-4) * (7-1) = 24示例 2:输入: [1, 2, 1, 2]输出: False注意:除法运算符/表示实数除法,而不是整数除法。例如 4 / (1 - 2/3...原创 2019-02-25 16:43:59 · 930 阅读 · 0 评论 -
leetcode 85. 最大矩形(单调栈)
题目描述:给定一个仅包含0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。示例:输入:[ ["1","0","1","0","0"], ["1","0","1","1","1"], ["1","1","1","1","1"], ["1","0","0","1","0"]]输出: 6来源:力扣(LeetCode)链接:https://l...原创 2019-08-17 17:54:42 · 409 阅读 · 0 评论