马飞飞的刷题日记
每日打卡,每日一题
马飞飞
乐于分享,痴迷技术
展开
-
leetcode 题目350 两个数组的交集 II
2020/3/31 打卡题目给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]思路一种分成两步的巧妙的方法: (1) 首先计算重复的 字母元素。 ...原创 2020-03-31 12:07:27 · 412 阅读 · 0 评论 -
leetcode 题目1162 解数独
2020/3/30 打卡题目编写一个程序,通过已填充的空格来解决数独问题。一个数独的解法需遵循如下规则: (1)数字1-9在每一行只能出现一次。 (2)数字1-9在每一列只能出现一次。 (3)数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。这里每个3*3的宫都是 一个块。 这里需要对所有的空位.标记位置进行填充Note:...原创 2020-03-30 13:13:03 · 303 阅读 · 0 评论 -
leetcode 题目1162 地图分析
2020/3/29 打卡题目你现在手里有一份大小为N x N 的『地图』(网格)grid,上面的每个『区域』(单元格)都用0和1标记好了。其中0代表海洋,1代表陆地,你知道距离陆地区域最远的海洋区域是是哪一个吗?请返回该海洋区域到离它最近的陆地区域的距离。我们这里说的距离是『曼哈顿距离』(Manhattan Distance):(x0, y0) 和(x1,...原创 2020-03-29 12:27:52 · 640 阅读 · 0 评论 -
leetcode 题目820 单词的压缩编码
2020/3/28 打卡题目给定一个单词列表,我们将这个列表编码成一个索引字符串S与一个索引列表 A。例如,如果这个列表是 ["time", "me", "bell"],我们就可以将其表示为 S = "time#bell#" 和 indexes = [0, 2, 5]。对于每一个索引,我们可以通过从字符串 S中索引的位置开始读取字符串,直到 "#" 结束,来恢复我们之前的单词...原创 2020-03-28 18:00:24 · 261 阅读 · 0 评论 -
leetcode 题目417 太平洋大西洋水流问题
2020/3/27 打卡题目给定一个 m x n 的非负整数矩阵来表示一片大陆上各个单元格的高度。“太平洋”处于大陆的左边界和上边界,而“大西洋”处于大陆的右边界和下边界。规定水流只能按照上、下、左、右四个方向流动,且只能从高到低或者在同等高度上流动。请找出那些水流既可以流动到“太平洋”,又能流动到“大西洋”的陆地单元的坐标。提示:输出坐标的顺序不重要m 和 n 都小于15...原创 2020-03-27 13:56:40 · 493 阅读 · 0 评论 -
leetcode 题目395. 至少有K个重复字符的最长子串
2020/3/26 打卡题目找到给定字符串(由小写字符组成)中的最长子串 T ,要求T中的每一字符出现次数都不少于 k 。输出 T的长度。示例 1: 输入:s = "aaabb", k = 3 输出:3 最长子串为 "aaa" ,其中 'a' 重复了 3 次。示例 2: 输入:s = "ababbc", k = 2 输出:5 ...原创 2020-03-26 22:57:49 · 274 阅读 · 0 评论 -
leetcode 题目454. 四数相加 II
2020/3/25 打卡题目给定四个包含整数的数组列表A , B , C , D ,计算有多少个元组 (i, j, k, l),使得A[i] + B[j] + C[k] + D[l] = 0。为了使问题简单化,所有的 A, B, C, D 具有相同的长度N,且 0 ≤ N ≤ 500 。所有整数的范围在 -228 到 228 - 1 之间,最终结果不会超过231 - 1 ...原创 2020-03-25 23:03:05 · 258 阅读 · 0 评论 -
leetcode 题目334.递增的三元子序列
2020/3/24 打卡题目给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列。数学表达式如下: 如果存在这样的i, j, k,且满足0 ≤ i < j < k ≤ n-1, 使得arr[i] < arr[j] < arr[k] ,返回 true ;否则返回 false 。 说明: 要求算法的时间复杂度为...原创 2020-03-24 12:27:18 · 177 阅读 · 0 评论 -
leetcode 题目401.二进制手表
2020/3/23 打卡题目二进制手表顶部有 4 个 LED 代表小时(0-11),底部的 6 个 LED 代表分钟(0-59)。每个 LED 代表一个 0 或 1,最低位在右侧。例如,上面的二进制手表读取 “3:25”。 (看题目的图)给定一个非负整数 n代表当前 LED 亮着的数量,返回所有可能的时间。案例: 输入: n = 1 返回: ["1:00"...原创 2020-03-23 14:56:17 · 463 阅读 · 0 评论 -
leetcode 面试题162. 寻找峰值
2020/3/22 打卡题目峰值元素是指其值大于左右相邻值的元素。给定一个输入数组nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。你可以假设nums[-1] = nums[n] = -∞。示例 1:输入: nums = [1,2,3,1]输出: 2解释: 3 是峰值...原创 2020-03-22 18:17:23 · 432 阅读 · 0 评论 -
leetcode 面试题73.矩阵置零
2020/3/21 打卡题目给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。示例 1:输入:[ [1,1,1], [1,0,1], [1,1,1]]输出:[ [1,0,1], [0,0,0], [1,0,1]]示例 2:输入:[ [0,1,2,0], [3,4,5,2], ...原创 2020-03-21 13:16:05 · 190 阅读 · 0 评论 -
Leetcode top100题目及解答代码 (Python)
代码代码放置在github中:https://github.com/isthegoal/leetcode_top125使用了大量注释进行了题目 方案的解读。(类似形式如下)题目1 两数之和 42.20% Easy2 两数相加 30.70% Medium3 无重复字符的最长子串 28.00% Medium4 寻找两个有序数组的中位数 25.60% ...原创 2020-03-21 00:43:56 · 4520 阅读 · 0 评论 -
leetcode 面试题216. 组合总和 III
2020/3/20 打卡题目找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。说明:所有数字都是正整数。解集不能包含重复的组合。示例 1:输入: k = 3, n = 7输出: [[1,2,4]]示例 2:输入: k = 3, n = 9输出: [[1,2,6], [1,3,5], [2,3,4...原创 2020-03-20 12:03:47 · 264 阅读 · 0 评论 -
leetcode 面试题40. 组合总和 II
2020/3/19 打卡题目给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。 说明: 所有数字(包括目标数)都是正整数。 解集不能包含重复的组合。 示例 1: 输入: candidates = [10,1,2,...原创 2020-03-19 11:02:46 · 250 阅读 · 0 评论 -
leetcode 面试题108.解码方法
2020/3/18 打卡题目将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ ...原创 2020-03-18 10:59:22 · 166 阅读 · 0 评论 -
leetcode 面试题1160.拼写单词
题目给你一份『词汇表』(字符串数组)words和一张『字母表』(字符串)chars。假如你可以用chars中的『字母』(字符)拼写出 words中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。 注意:每次拼写时,chars 中的每个字母都只能用一次。 返回词汇表words中你掌握的所有单词的 长度之和。 示例 1: 输入:words =...原创 2020-03-17 11:13:35 · 382 阅读 · 2 评论 -
leetcode 面试题91.解码方法
2020/3/17 打卡题目一条包含字母A-Z 的消息通过以下方式进行了编码:'A' -> 1'B' -> 2...'Z' -> 26给定一个只包含数字的非空字符串,请计算解码方法的总数。示例 1:输入: "12"输出: 2解释:它可以解码为 "AB"(1 2)或者 "L"(12)。示例2:输入: "226"输出: 3解释:它可...原创 2020-03-17 10:55:01 · 284 阅读 · 0 评论 -
leetcode 面试题 01.06. 字符串压缩
2020/3/16 打卡题目字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。示例1: 输入:"aabcccccaaa" 输出:"a2b1c5a3"示例2: 输入:"abbccd" 输出...原创 2020-03-16 12:12:54 · 189 阅读 · 0 评论 -
leetcode 题目695.岛屿的最大面积
2020/3/15 打卡题目给定一个包含了一些 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,...原创 2020-03-15 13:35:09 · 209 阅读 · 0 评论 -
leetcode 题目300.最长上升子序列
2020/3/13 打卡题目给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101], 它的长度是 4思路感觉传统思路就够了,使用DP解法。用dp[i...原创 2020-03-14 01:21:28 · 154 阅读 · 0 评论 -
leetcode题目621 任务调度器
2020/3/13 打卡题目给定一个用字符数组表示的 CPU 需要执行的任务列表。其中包含使用大写的 A - Z 字母表示的26 种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完。CPU 在任何一个单位时间内都可以执行一个任务,或者在待命状态。然而,两个相同种类的任务之间必须有长度为 n 的冷却时间,因此至少有连续 n 个单位时间内 CPU 在执...原创 2020-03-13 00:52:40 · 687 阅读 · 1 评论 -
leetcode 题目2 两数相加
2020/3/12 打卡题目给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。除了数字 0 之外,这两个数字都不会以零开头。通俗点说就是 有两个链表分别表示两个数,我们需要获得 一个新的链表,链表的值表示两数相加的和。 输入:(2 -> 4 -> 3) + (5 -> 6 ...原创 2020-03-12 11:35:08 · 241 阅读 · 0 评论 -
leetcode 题目64 最小路径和
题目给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。 示例: 输入: [ [1,3,1], [1,5,1], [4,2,1] ] 输出: 7 解释: 因为路径 1→3→1→1→1 的...原创 2020-03-11 09:59:16 · 279 阅读 · 0 评论