Leetcode
KylerLiZi
这个作者很懒,什么都没留下…
展开
-
【Leetcode 每日一题】409. 最长回文串
题目描述给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如"Aa"不能当做一个回文字符串。注意:假设字符串的长度不会超过 1010。示例 1:输入:"abccccdd"输出:7解释:我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。思路——贪心统计乱序的字符串中每个字...原创 2020-03-19 15:13:16 · 204 阅读 · 0 评论 -
【Leetcode】32.最长有效括号
题目描述难度:困难给定一个只包含 '('和 ')'的字符串,找出最长的包含有效括号的子串的长度。示例1:输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2:输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()"思路一——栈最开始未考虑嵌套括号 “(())” 这种情况,还想着怎么是困难题。后来 “()((...原创 2020-03-18 13:35:03 · 397 阅读 · 0 评论 -
【Leetcode 每日一题】1160.拼写单词
题目描述难度:简单给你一份『词汇表』(字符串数组)words和一张『字母表』(字符串)chars。假如你可以用chars中的『字母』(字符)拼写出 words中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。注意:每次拼写时,chars 中的每个字母都只能用一次。返回词汇表words中你掌握的所有单词的 长度之和。示例 1:输入:words =...原创 2020-03-17 17:32:22 · 295 阅读 · 0 评论 -
【Leetcode 每日一题】面试题 01.06. 字符串压缩
题目描述难度简单字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。示例1:输入:"aabcccccaaa"输出:"a2b1c5a3"示例2:输入:"abbccd"输出:"ab...原创 2020-03-16 12:26:31 · 168 阅读 · 0 评论 -
【Leetcode 每日一题】695.岛屿的最大面积
题目描述给定一个包含了一些 0 和 1的非空二维数组grid, 一个岛屿是由四个方向 (水平或垂直) 的1(代表土地) 构成的组合。你可以假设二维矩阵的四个边缘都被水包围着。找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为0。)示例 1:[[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0]...原创 2020-03-15 15:57:13 · 273 阅读 · 0 评论 -
【Leetcode 每日一题】300.最长上升子序列
题目描述给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是[2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为O(n2) 。进阶: 你能将算法的时间复杂度降低到O(n log n) 吗...原创 2020-03-14 11:27:42 · 448 阅读 · 1 评论 -
【Leetcode 每日一题】169.多数元素
题目描述给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例1:输入: [3,2,3]输出: 3示例2:输入: [2,2,1,1,1,2,2]输出: 2思路一——哈希表题目只需要计数,那么使用基于哈希表的unordered_map最适合了...原创 2020-03-13 13:42:23 · 200 阅读 · 0 评论 -
【Leetcode 每日一题】1071. 字符串的最大公因子
题目描述对于字符串S 和T,只有在 S = T + ... + T(T与自身连接 1 次或多次)时,我们才认定“T 能除尽 S”。返回最长字符串X,要求满足X 能除尽 str1 且X 能除尽 str2。示例 1:输入:str1 = "ABCABC", str2 = "ABC"输出:"ABC"示例 2:输入:str1 = "ABABAB", str2 =...原创 2020-03-12 15:29:48 · 184 阅读 · 0 评论 -
【Leetcode 每日一题】1013. 将数组分成和相等的三个部分
题目描述给你一个整数数组A,只有可以将其划分为三个和相等的非空部分时才返回true,否则返回 false。形式上,如果可以找出索引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.length - 1])就可以将数组三等分。...原创 2020-03-11 12:01:00 · 577 阅读 · 0 评论 -
【Leetcode 每日一题】543. 二叉树的直径
题目描述给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。示例 :给定二叉树 1 / \ 2 3 / \ 4 5 返回3, 它的长度是路径 [4,2,1,3] 或者[5,2,1,3]。注意:两结点之间的路径...原创 2020-03-10 11:22:42 · 384 阅读 · 0 评论 -
【Leetcode 每日一题】121.买卖股票的最佳时机
题目描述给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = ...原创 2020-03-09 11:16:03 · 255 阅读 · 0 评论 -
【Leetcode 每日一题】322. 零钱兑换
题目描述给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。示例1:输入: coins = [1, 2, 5], amount = 11输出: 3解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: ...原创 2020-03-08 20:41:22 · 191 阅读 · 0 评论 -
【Leetcode 每日一题】1103. 分糖果 II
题目描述排排坐,分糖果。我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友。给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小朋友 n颗糖果。然后,我们再回到队伍的起点,给第一个小朋友 n+ 1 颗糖果,第二个小朋友 n+ 2 颗,依此类推,直到给最后一个小朋友 2 * n颗糖果。重复上述过程(每次...原创 2020-03-07 18:28:34 · 713 阅读 · 0 评论 -
【Leetcode 每日一题】面试题59 - II. 队列的最大值
题目描述请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的时间复杂度都是O(1)。若队列为空,pop_front 和 max_value需要返回 -1示例 1:输入:["MaxQueue","push_back","push_back","max_value","pop_front"...原创 2020-03-07 12:16:58 · 207 阅读 · 0 评论 -
【Leetcode 每日一题】994.腐烂的橘子
题目描述在给定的网格中,每个单元格可以有以下三个值之一:值0代表空单元格; 值1代表新鲜橘子; 值2代表腐烂的橘子。每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂。返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回-1。示例 1:输入:[[2,1,1],[1,1,0],[0,1,1]] 输出:4示例 2:...原创 2020-03-07 11:11:18 · 361 阅读 · 0 评论 -
【Leetcode 每日一题】面试题 10.01. 合并排序的数组
题目描述给定两个排序后的数组 A 和 B,其中 A 的末端有足够的缓冲空间容纳 B。 编写一个方法,将 B 合并入 A 并排序。初始化A 和 B 的元素数量分别为m 和 n。输入:A = [1,2,3,0,0,0], m = 3B = [2,5,6], n = 3输出:[1,2,2,3,5,6]思路解答...原创 2020-03-06 16:53:28 · 189 阅读 · 0 评论 -
【Leetcode 每日一题】面试题24. 反转链表
题目描述定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL限制:0 <= 节点个数 <= 5000思路逐个遍历传入的需要反转的链表,然后使用头插每次将值插入到反转链表的头节点...原创 2020-03-06 16:41:34 · 170 阅读 · 0 评论 -
【Leetcode 每日一题】面试题57 - II. 和为s的连续正数序列
题目描述输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。示例 1:输入:target = 9输出:[[2,3,4],[4,5]]示例 2:输入:target = 15输出:[[1,2,3,4,5],[4,5,6],[7,8]]限制:1 <= t...原创 2020-03-06 16:23:41 · 210 阅读 · 0 评论 -
【Leetcode 每日一题】225. 用队列实现栈
题目描述链接:https://leetcode-cn.com/problems/implement-stack-using-queues使用队列实现栈的下列操作:push(x) -- 元素 x 入栈 pop() -- 移除栈顶元素 top() -- 获取栈顶元素 empty() -- 返回栈是否为空注意:你只能使用队列的基本操作-- 也就是push to back, pe...原创 2020-03-06 16:17:53 · 154 阅读 · 0 评论