Leetcode
水花
酷爱数据科学,擅长Python,希望有志同道合的朋友一起交流学习!
展开
-
leetcode-22. 括号生成
题目解释数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例输入:n = 3输出:[ "((()))", "(()())", "(())()", "()(())", "()()()" ]解题思路方法一:深度优先遍历我们以 n = 2 为例,画树形结构图。方...原创 2020-04-09 15:09:10 · 475 阅读 · 0 评论 -
leetcode-13. 机器人的运动范围
题目解释地上有一个m行n列的方格,从坐标 [0,0]到坐标 [m-1,n-1]。一个机器人从坐标 [0,0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37],因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器人能够到达...原创 2020-04-08 09:57:28 · 315 阅读 · 0 评论 -
leetcode-01.07. 旋转矩阵
题目描述给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。不占用额外内存空间能否做到?示例 1给定 matrix = [ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2], [9,6,3]]示例 2给定 matrix...原创 2020-04-07 18:24:17 · 149 阅读 · 0 评论 -
leetcode-72. 编辑距离
题目解释给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1输入:word1 = "horse", word2 = "ros"输出:3解释:horse -> rorse (将 'h' 替换为 'r')rorse -> rose...原创 2020-04-06 22:13:56 · 152 阅读 · 0 评论 -
leetcode-42. 接雨水
题目解释给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6解题思路黑色的看成墙,蓝色的看成水,宽度一样,给定一个数组,每个...原创 2020-04-05 13:53:30 · 216 阅读 · 0 评论 -
leetcode-460.LFU缓存
题目解释设计并实现最不经常使用(LFU)缓存的数据结构。它应该支持以下操作:get和 put。get(key)- 如果键存在于缓存中,则获取键的值(总是正数),否则返回 -1。put(key, value)- 如果键不存在,请设置或插入值。当缓存达到其容量时,它应该在插入新项目之前,使最不经常使用的项目无效。在此问题中,当存在平局(即两个或更多个键具有相同使用频率)时,最近最少使用的键将被去...原创 2020-04-05 13:45:32 · 178 阅读 · 0 评论 -
leetcode-8.字符串转整数(Java,Python实现)
题目描述请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。该字符串在有效的整数部分之后也可能会...原创 2020-04-03 08:56:10 · 178 阅读 · 0 评论 -
leetcode-1111.有效括号的嵌套深度(Python实现)
题目有效括号字符串 仅由 “(” 和 “)” 构成,并符合下述几个条件之一:空字符串连接,可以记作 AB(A 与 B 连接),其中 A 和 B 都是有效括号字符串嵌套,可以记作 (A),其中 A 是有效括号字符串类似地,我们可以定义任意有效括号字符串 s 的 嵌套深度 depth(S):s 为空时,depth("") = 0s 为 A 与 B 连接时,depth(...原创 2020-04-01 07:58:57 · 606 阅读 · 0 评论 -
leetcode-912. 排序数组(冒泡,快速...)
题目描述给定一个整数数组 nums,将该数组升序排列。示例1输入:[5,2,3,1]输出:[1,2,3,5]示例2输入:[5,1,1,2,0,0]输出:[0,0,1,1,2,5]提示 1 <= A.length <= 10000-50000 <= A[i] <= 50000基本排序算法1.优化版冒泡class Solution: d...原创 2020-03-31 11:21:51 · 218 阅读 · 0 评论 -
leetcode-62.圆圈中最后剩下的数字(Java,Python,C++实现)
题目描述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 = 17输出: 2提示...原创 2020-03-30 10:48:16 · 223 阅读 · 0 评论 -
leetcode-1162.地图分析
题目描述你现在手里有一份大小为 N x N 的『地图』(网格)grid,上面的每个『区域』(单元格)都用 0 和 1 标记好了。其中 0 代表海洋,1 代表陆地,你知道距离陆地区域最远的海洋区域是是哪一个吗?请返回该海洋区域到离它最近的陆地区域的距离。我们这里说的距离是『曼哈顿距离』( Manhattan Distance):(x0, y0)和(x1, y1)这两个区域之间的距离是|x0 ...原创 2020-03-29 10:30:48 · 230 阅读 · 0 评论 -
leetcode-820.单词的压缩编码
题目描述给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A。例如,如果这个列表是 ["time", "me", "bell"],我们就可以将其表示为S = "time#bell#" 和 indexes = [0, 2, 5]。对于每一个索引,我们可以通过从字符串 S 中索引的位置开始读取字符串,直到 “#” 结束,来恢复我们之前的单词列表。那么成功对给定单词列表进...原创 2020-03-28 15:23:32 · 332 阅读 · 0 评论 -
leetcode-914.卡牌分组(Python)
题目描述给定一副牌,每张牌上都写着一个整数。此时,你需要选定一个数字 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 11:15:56 · 263 阅读 · 0 评论