![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode 每日一题
Heroin X
文艺情怀的理工直男
展开
-
美区每日一题记录
文章目录第1周1. Single Number2. Happy Number3. Maximum Subarray4. Move Zeros5. Best Time to Buy and Sell Stock II6. Group Anagrams7. Counting Elements第2周1. Middle of the Linked List2. Backspace String Compa...原创 2020-04-21 11:48:41 · 422 阅读 · 0 评论 -
LeetCode-4.10-151-M-翻转字符串里的单词( Reverse Words in a String)
文章目录思路解法给定一个字符串,逐个翻转字符串中的每个单词。Given an input string, reverse the string word by word.示例 1:输入: “the sky is blue”输出: “blue is sky the”示例 2:输入: " hello world! "输出: “world! hello”解释: 输入字符串可以在前面...原创 2020-04-10 17:05:56 · 118 阅读 · 0 评论 -
LeetCode-Stack-155-E:最小栈(Min Stack)
文章目录思路解法1-两个栈解法2-一个栈+变量解法3-一个栈+差值设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。思路参考:https://leetcode-cn.com/problems/min-st...原创 2020-01-28 21:24:15 · 166 阅读 · 0 评论 -
LeetCode-4.9-美区-844-E-比较含退格的字符串(Backspace String Compare)
文章目录思路解法1-逆序指针解法2-栈Given two strings S and T, return if they are equal when both are typed into empty text editors. # means a backspace character.给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # ...原创 2020-04-10 15:40:20 · 149 阅读 · 0 评论 -
LeetCode-4.9-22-M-括号生成( Generate Parentheses)
文章目录思路解法数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.示例:输入:n = 3输出:[“((()))”,“(()())”,...原创 2020-04-10 14:12:21 · 102 阅读 · 0 评论 -
剑指Offer-面试题13:机器人的运动范围
CONTENT思路解法地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?思路仍旧是递归,上下左...原创 2019-12-26 15:33:03 · 161 阅读 · 0 评论 -
LeetCode-4.8-美区-876-E-链表中间元素(Middle of the Linked List)
文章目录思路解法Given a non-empty, singly linked list with head node head, return a middle node of linked list.If there are two middle nodes, return the second middle node.Example 1:Input: [1,2,3,4,5]Out...原创 2020-04-08 20:24:45 · 136 阅读 · 0 评论 -
LeetCode-4.7-美区-E-计算元素(Counting Elements)
文章目录思路解法Given an integer array arr, count element x such that x + 1 is also in arr.If there’re duplicates in arr, count them seperately.Example 1:Input: arr = [1,2,3]Output: 2EExplanation: 1 and...原创 2020-04-07 21:33:35 · 428 阅读 · 0 评论 -
LeetCode-Array-48-M:旋转图像( Rotate Image)
文章目录思路-wait解法给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix =[[1,2,3],[4,5,6],[7,8,9]],原地旋转输入矩阵,使其变为:[[7,4,1],[8,5,2],[9,6,3]]...原创 2020-02-11 22:15:36 · 101 阅读 · 0 评论 -
LeetCode-4.6-美区-49-M-字母异位词分组(Move Zeroes)
文章目录思路解法给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。iven an array of strings, group anagrams together.示例:输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”],输出:[[“ate”,“eat”,“tea”],[“nat”,“tan”],[...原创 2020-04-06 21:23:17 · 142 阅读 · 0 评论 -
LeetCode-4.6-72-H-编辑距离( Edit Distance)
文章目录思路-wait解法给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1:输入:word1 = “horse”, word2 = “ros”输出:3解释:horse -> rorse (将 ‘h’ 替换为 ‘r’)rorse -...原创 2020-04-06 20:50:09 · 122 阅读 · 0 评论 -
LeetCode-Greedy-122-E:买卖股票的最佳时机II
文章目录思路解法给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖...原创 2020-01-31 12:41:24 · 152 阅读 · 0 评论 -
LeetCode-4.5-460-H-LFU缓存(String to Integer) (atoi)
文章目录思路-wait解法请你为 最不经常使用(LFU)缓存算法设计并实现数据结构。它应该支持以下操作:get 和 put。get(key) - 如果键存在于缓存中,则获取键的值(总是正数),否则返回 -1。put(key, value) - 如果键不存在,请设置或插入值。当缓存达到其容量时,则应该在插入新项之前,使最不经常使用的项无效。在此问题中,当存在平局(即两个或更多个键具有相同使用频...原创 2020-04-05 21:20:46 · 148 阅读 · 0 评论 -
LeetCode-4.4-美区-283-E-移动零(Move Zeroes)
文章目录思路解法1-错误解法2-waitGiven an array nums, write a function to move all 0’s to the end of it while maintaining the relative order of the non-zero elements.Example:Input: [0,1,0,3,12]Output: [1,3,12...原创 2020-04-04 22:00:07 · 150 阅读 · 0 评论 -
LeetCode-Stack-42-H:接雨水
文章目录思路解法给定 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]输出: 6https://leetcode...原创 2020-01-28 11:52:06 · 144 阅读 · 0 评论 -
LeetCode-4.3-8-M-字符串转换整数(String to Integer) (atoi)
文章目录思路解法-搞不动了请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。该字符串在有效的整数...原创 2020-04-03 22:28:36 · 161 阅读 · 0 评论 -
LeetCode-Array-53-E-最大子序和(Maximum Subarray)
文章目录思路解法1-暴力解法2-一次遍历解法3-分治-wait给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。思路...原创 2020-02-12 11:23:29 · 122 阅读 · 0 评论 -
LeetCode-4.2-289-M-生命游戏(Game of Life)
文章目录思路-wait解法根据 百度百科 ,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机。给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态:1 即为活细胞(live),或 0 即为死细胞(dead)。每个细胞与其八个相邻位置(水平,垂直,对角线)的细胞都遵循以下四条生存定律:如果活细胞周围八个位置的活细...原创 2020-04-02 23:15:08 · 209 阅读 · 0 评论 -
LeetCode-4.2-美区-202-E-Happy Number
文章目录思路解法1-哈希解法2-快慢指针Write an algorithm to determine if a number is “happy”.A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the ...原创 2020-04-02 23:01:32 · 153 阅读 · 0 评论 -
LeetCode-4.1-美区-136-E-Single Number
文章目录思路解法1-哈希解法2-异或^Given a non-empty array of integers, every element appears twice except for one. Find that single one.Note:Your algorithm should have a linear runtime complexity. Could you imple...原创 2020-04-01 20:04:50 · 241 阅读 · 0 评论 -
LeetCode-4.1-1111-M-有效括号的嵌套深度(Maximum Nesting Depth of Two Valid Parentheses Strings)
文章目录思路解法有效括号字符串 仅由 “(” 和 “)” 构成,并符合下述几个条件之一:空字符串连接,可以记作 AB(A 与 B 连接),其中 A 和 B 都是有效括号字符串嵌套,可以记作 (A),其中 A 是有效括号字符串类似地,我们可以定义任意有效括号字符串 s 的 嵌套深度 depth(S):s 为空时,depth("") = 0s 为 A 与 B 连接时,depth(A...原创 2020-04-01 10:24:26 · 293 阅读 · 0 评论 -
LeetCode-3.31-912-M-排序数组(Sort an Array)
文章目录思路解法1-冒泡解法2-选择解法3-插入解法4-希尔解法5-归并解法6-快排解法7-堆排解法8-计数解法9-桶排序解法10-基数给你一个整数数组 nums,请你将该数组升序排列。Given an array of integers nums, sort the array in ascending order.思路依次使用十大经典排序。解法1-冒泡class Solution...原创 2020-03-31 17:21:22 · 235 阅读 · 0 评论 -
LeetCode-3.30-面试题62-E-圆圈中最后剩下的数字
文章目录思路解法1-数学模拟0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。示例 1:输入: n = 5, m = 3输出: 3示例 2:输入: n = 10, m = ...原创 2020-03-30 21:51:53 · 175 阅读 · 0 评论 -
LeetCode-3.29-1162-M-地图分析(As Far from Land as Possible)
文章目录思路解法-bug你现在手里有一份大小为 N x N 的『地图』(网格) grid,上面的每个『区域』(单元格)都用 0 和 1 标记好了。其中 0 代表海洋,1 代表陆地,你知道距离陆地区域最远的海洋区域是是哪一个吗?请返回该海洋区域到离它最近的陆地区域的距离。我们这里说的距离是『曼哈顿距离』( Manhattan Distance):(x0, y0) 和 (x1, y1) 这两个区域...原创 2020-03-29 16:17:44 · 185 阅读 · 0 评论 -
LeetCode-3.28-820-M-单词的压缩编码(Short Encoding of Words )
文章目录思路解法给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A。例如,如果这个列表是 [“time”, “me”, “bell”],我们就可以将其表示为 S = “time#bell#” 和 indexes = [0, 2, 5]。对于每一个索引,我们可以通过从字符串 S 中索引的位置开始读取字符串,直到 “#” 结束,来恢复我们之前的单词列表。那么成功对给定...原创 2020-03-28 11:27:28 · 197 阅读 · 0 评论 -
LeetCode-3.27-914-E-卡牌分组(X of a Kind in a Deck of Cards )
文章目录思路解法给定一副牌,每张牌上都写着一个整数。此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组:每组都有 X 张牌。组内所有的牌上都写着相同的整数。仅当你可选的 X >= 2 时返回 true。In a deck of cards, each card has an integer written on it.Return true if a...原创 2020-03-27 16:36:59 · 166 阅读 · 0 评论 -
LeetCode-3.26-999-E-车的可用捕获量(Available Captures for Rook )
文章目录思路解法在一个 8 x 8 的棋盘上,有一个白色车(rook)。也可能有空方块,白色的象(bishop)和黑色的卒(pawn)。它们分别以字符 “R”,“.”,“B” 和 “p” 给出。大写字符表示白棋,小写字符表示黑棋。车按国际象棋中的规则移动:它选择四个基本方向中的一个(北,东,西和南),然后朝那个方向移动,直到它选择停止、到达棋盘的边缘或移动到同一方格来捕获该方格上颜色相反的卒。...原创 2020-03-26 09:12:35 · 160 阅读 · 0 评论 -
LeetCode-3.25-892-E-三维形体的表面积(Surface Area of 3D Shapes)
文章目录思路解法在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体。每个值 v = grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上。请你返回最终形体的表面积。On a N * N grid, we place some 1 * 1 * 1 cubes.Each value v = grid[i][j] represents a tower ...原创 2020-03-25 15:28:51 · 147 阅读 · 0 评论 -
LeetCode-3.24-面试题17.16-E-按摩师
文章目录思路解法1-动态规划解法1-2一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。注意:本题相对原题稍作改动示例 1:输入: [1,2,3,1]输出: 4解释: 选择 1 号预约和 3 号预约,总时长 = 1 + 3 ...原创 2020-03-24 10:18:19 · 151 阅读 · 0 评论 -
LeetCode-3.23-876-E-链表的中间结点(Middle of the Linked List)
文章目录思路解法-双指针解法1-2给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。Given a non-empty, singly linked list with head node head, return a middle node of linked list.If there are two middle nodes, ...原创 2020-03-23 20:58:23 · 112 阅读 · 0 评论 -
LeetCode-3.22-945-M-使数组唯一的最小增量(Minimum Increment to Make Array Unique)
文章目录思路解法给定整数数组 A,每次 move 操作将会选择任意 A[i],并将其递增 1。返回使 A 中的每个值都是唯一的最少操作次数。Given an array of integers A, a move consists of choosing any A[i], and incrementing it by 1.Return the least number of moves ...原创 2020-03-22 08:54:58 · 122 阅读 · 0 评论 -
LeetCode-3.21-365-M-水壶问题(Water and Jug Problem)
文章目录思路-wait解法有两个容量分别为 x升 和 y升 的水壶以及无限多的水。请判断能否通过使用这两个水壶,从而可以得到恰好 z升 的水?如果可以,最后请用以上水壶中的一或两个来盛放取得的 z升 水。你允许:装满任意一个水壶清空任意一个水壶从一个水壶向另外一个水壶倒水,直到装满或者倒空示例 1: (From the famous “Die Hard” example)输入: ...原创 2020-03-22 08:52:06 · 169 阅读 · 0 评论 -
LeetCode-3.20-面试题40-E-最小的k个数
文章目录思路解法1-API思路(1)解法1直接调用了Arrays.sort()方法,使用了快排对其排序,然后取前k个元素。没什么好说的。(2)解法1-APIclass Solution { public int[] getLeastNumbers(int[] arr, int k) { if(arr.length == 0 || arr == null){ ...原创 2020-03-20 11:48:47 · 111 阅读 · 0 评论 -
LeetCode-3.19-409-E- 最长回文串(Longest Palindrome)
文章目录思路解法给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。注意:假设字符串的长度不会超过 1010。示例 1:输入:“abccccdd”输出:7解释:我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。思路整体思路是偶数个数的相同字符一定可以构建对...原创 2020-03-19 09:52:32 · 105 阅读 · 0 评论 -
LeetCode-3.18-836-E- 矩形重叠(Rectangle Overlap)
文章目录思路解法矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标。如果相交的面积为正,则称两矩形重叠。需要明确的是,只在角或边接触的两个矩形不构成重叠。给出两个矩形,判断它们是否重叠并返回结果。示例 1:输入:rec1 = [0,0,2,2], rec2 = [1,1,3,3]输出:true示例 2:...原创 2020-03-18 10:02:21 · 172 阅读 · 0 评论 -
LeetCode-3.17-1160-E-拼写单词(Find Words That Can Be Formed by Characters)
文章目录思路解法1-暴力解法2思路(1)解法1发现是String的contains()方法的形参是CharSequence,而不是Char。同时,也没有remove()方法。解法1-暴力class Solution { public int countCharacters(String[] words, String chars) { int count = 0;...原创 2020-03-17 23:24:11 · 119 阅读 · 0 评论 -
LeetCode-3.16-面试题 01.06-M-字符串压缩
文章目录思路解法字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。示例1:输入:“aabcccccaaa”输出:“a2b1c5a3”思路(1)apped()(2)str.toCharArray()...原创 2020-03-16 19:58:58 · 179 阅读 · 0 评论 -
LeetCode-3.15-695-M- 岛屿的最大面积(Max Area of Island)
文章目录思路解法1-深搜解法1-2给定一个包含了一些 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,...原创 2020-03-15 10:34:15 · 174 阅读 · 0 评论 -
LeetCode-3.14-300-M- 最长上升子序列(Longest Increasing Subsequence)
给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为 O(n2) 。进阶: 你能将算法的时间复杂度降低到 O(n log n) 吗?思路(1)动态规...原创 2020-03-14 11:47:01 · 126 阅读 · 0 评论 -
LeetCode-Bit Manipulation & Array-169-E:多数元素(Majority Element)
文章目录思路解法1-Boyer-Moore投票算法思路leetcode官方题解解法1-Boyer-Moore投票算法本质上, Boyer-Moore 算法就是找 nums 的一个后缀 sufsuf ,其中 suf[0]suf[0] 就是后缀中的众数。我们维护一个计数器,如果遇到一个我们目前的候选众数,就将计数器加一,否则减一。只要计数器等于 0 ,我们就将 nums 中之前访问的数字全部 ...原创 2020-02-03 23:14:58 · 202 阅读 · 0 评论