LeetCode打卡
coder_vivid
鹅厂码农
展开
-
【打卡】LeetCode 820. 单词的压缩编码
给定一个单词列表,我们将这个列表编码成一个索引字符串S与一个索引列表 A。例如,如果这个列表是 ["time", "me", "bell"],我们就可以将其表示为 S = "time#bell#" 和 indexes = [0, 2, 5]。对于每一个索引,我们可以通过从字符串 S中索引的位置开始读取字符串,直到 "#" 结束,来恢复我们之前的单词列表。那么成功对给定单词列表进...原创 2020-03-28 23:57:02 · 266 阅读 · 0 评论 -
【打卡】LeetCode 914. 卡牌分组
给定一副牌,每张牌上都写着一个整数。此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组:每组都有X张牌。组内所有的牌上都写着相同的整数。仅当你可选的 X >= 2 时返回true。示例 1:输入:[1,2,3,4,4,3,2,1]输出:true解释:可行的分组是 [1,1],[2,2],[3,3],[4,4]示例 2:输入...原创 2020-03-27 02:08:31 · 165 阅读 · 0 评论 -
【打卡】LeetCode 999. 车的可用捕获量
在一个 8 x 8 的棋盘上,有一个白色车(rook)。也可能有空方块,白色的象(bishop)和黑色的卒(pawn)。它们分别以字符 “R”,“.”,“B” 和 “p” 给出。大写字符表示白棋,小写字符表示黑棋。车按国际象棋中的规则移动:它选择四个基本方向中的一个(北,东,西和南),然后朝那个方向移动,直到它选择停止、到达棋盘的边缘或移动到同一方格来捕获该方格上颜色相反的卒。另外,车不能与其...原创 2020-03-26 01:00:18 · 157 阅读 · 0 评论 -
【打卡】LeetCode 892. 三维形体的表面积
在N*N的网格上,我们放置一些1 * 1 * 1的立方体。每个值v = grid[i][j]表示v个正方体叠放在对应单元格(i, j)上。请你返回最终形体的表面积。示例 1:输入:[[2]]输出:10示例 2:输入:[[1,2],[3,4]]输出:34示例 3:输入:[[1,0],[0,2]]输出:16示例 4:输入:[[1,...原创 2020-03-25 00:55:25 · 154 阅读 · 0 评论 -
【打卡】LeetCode 面试题 17.16. 按摩师
一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。注意:本题相对原题稍作改动示例 1:输入: [1,2,3,1]输出: 4解释: 选择 1 号预约和 3 号预约,总时长 = 1 + 3 = 4。示例 2:输入:...原创 2020-03-24 23:09:24 · 147 阅读 · 0 评论 -
【打卡】LeetCode 206. 反转链表
反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-linked-list著...原创 2020-03-23 00:49:19 · 127 阅读 · 0 评论 -
【打卡】LeetCode 225. 用队列实现栈
使用队列实现栈的下列操作:push(x) -- 元素 x 入栈pop() -- 移除栈顶元素top() -- 获取栈顶元素empty() -- 返回栈是否为空注意:你只能使用队列的基本操作-- 也就是push to back, peek/pop from front, size, 和is empty这些操作是合法的。你所使用的语言也许不支持队列。你可以使用 list 或者...原创 2020-03-23 00:44:22 · 134 阅读 · 0 评论 -
【打卡】LeetCode 945. 使数组唯一的最小增量
给定整数数组 A,每次 move 操作将会选择任意A[i],并将其递增1。返回使 A中的每个值都是唯一的最少操作次数。示例 1:输入:[1,2,2]输出:1解释:经过一次 move 操作,数组将变为 [1, 2, 3]。示例 2:输入:[3,2,1,2,1,7]输出:6解释:经过 6 次 move 操作,数组将变为 [3, 4, 1, 2, 5, 7]。可以看出 ...原创 2020-03-23 00:39:57 · 232 阅读 · 1 评论 -
【打卡】LeetCode 876. 链表的中间结点
给定一个带有头结点head的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = 3, ans....原创 2020-03-23 00:37:44 · 117 阅读 · 0 评论 -
【打卡】LeetCode 365. 水壶问题
有两个容量分别为x升 和y升 的水壶以及无限多的水。请判断能否通过使用这两个水壶,从而可以得到恰好z升 的水?如果可以,最后请用以上水壶中的一或两个来盛放取得的z升水。你允许:装满任意一个水壶 清空任意一个水壶 从一个水壶向另外一个水壶倒水,直到装满或者倒空示例 1:(From the famous"Die Hard"example)输入: x = 3, y...原创 2020-03-21 03:30:42 · 145 阅读 · 0 评论 -
【打卡】LeetCode 面试题40. 最小的k个数
输入整数数组arr,找出其中最小的k个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例 1:输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例 2:输入:arr = [0,1,2,1], k = 1输出:[0]限制:0 <= k <= arr.lengt...原创 2020-03-20 00:30:17 · 136 阅读 · 0 评论 -
【打卡】LeetCode 836. 矩形重叠
矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标。如果相交的面积为正,则称两矩形重叠。需要明确的是,只在角或边接触的两个矩形不构成重叠。给出两个矩形,判断它们是否重叠并返回结果。示例 1:输入:rec1 = [0,0,2,2], rec2 = [1,1,3,3]输出:true示例 2:输入:r...原创 2020-03-19 20:40:00 · 143 阅读 · 0 评论 -
【打卡】LeetCode 1160. 拼写单词
给你一份『词汇表』(字符串数组)words和一张『字母表』(字符串)chars。假如你可以用chars中的『字母』(字符)拼写出 words中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。注意:每次拼写时,chars 中的每个字母都只能用一次。返回词汇表words中你掌握的所有单词的 长度之和。示例 1:输入:words = ["cat","b...原创 2020-03-19 20:39:30 · 186 阅读 · 0 评论 -
【打卡】LeetCode 409. 最长回文串
给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如"Aa"不能当做一个回文字符串。注意:假设字符串的长度不会超过 1010。示例 1:输入:"abccccdd"输出:7解释:我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。func longestPalindrome(s ...原创 2020-03-19 00:30:55 · 128 阅读 · 0 评论 -
【打卡】LeetCode 面试题 01.06 字符串压缩
字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。示例1:输入:"aabcccccaaa"输出:"a2b1c5a3"示例2:输入:"abbccd"输出:"abbccd"解释:"abbcc...原创 2020-03-16 01:05:47 · 234 阅读 · 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],[0,1...原创 2020-03-15 02:33:03 · 172 阅读 · 0 评论 -
【打卡】LeetCode 300. 最长上升子序列
给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是[2,3,7,101],它的长度是 4。func lengthOfLIS(nums []int) int { size := len(nums) if size == 0 { return 0 ...原创 2020-03-14 05:29:15 · 116 阅读 · 0 评论 -
【打卡】LeetCode 3. 无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是"w...原创 2020-03-14 06:48:21 · 131 阅读 · 0 评论