LeetCode
菜鸡儿的架构师之路
这个作者很懒,什么都没留下…
展开
-
从零开始敲LeetCode中级(Java)-1:三数之和
给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]解答:一开始...原创 2018-07-13 15:03:01 · 4086 阅读 · 6 评论 -
LeetCode 887:鸡蛋掉落[Python实现]
你将获得 K 个鸡蛋,并可以使用一栋从 1 到 N 共有 N 层楼的建筑。每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去。你知道存在楼层 F ,满足 0 <= F <= N 任何从高于 F 的楼层落下的鸡蛋都会碎,从 F 楼层或比它低的楼层落下的鸡蛋都不会破。每次移动,你可以取一个鸡蛋(如果你有完整的鸡蛋)并把它从任一楼层 X 扔下(满足 1 <= X &l...原创 2018-11-21 21:40:16 · 2750 阅读 · 1 评论 -
LeetCode:862. 和最短为k的最短子数组[Java实现]
题目返回 A 的最短的非空连续子数组的长度,该子数组的和至少为 K 。如果没有和至少为 K 的非空子数组,返回 -1 。 示例 1:输入:A = [1], K = 1输出:1示例 2:输入:A = [1,2], K = 4输出:-1示例 3:输入:A = [2,-1,2], K = 3输出:3 提示:1 <= A.length <= 500...原创 2018-10-12 11:17:43 · 778 阅读 · 0 评论 -
LeetCode:228. 汇总区间[Java实现]
给定一个无重复元素的有序整数数组,返回数组区间范围的汇总。示例 1:输入: [0,1,2,4,5,7] 输出: [“0->2”,”4->5”,”7”] 解释: 0,1,2 可组成一个连续的区间; 4,5 可组成一个连续的区间。 示例 2:输入: [0,2,3,4,6,8,9] 输出: [“0”,”2->4”,”6”,”8->9”] 解释: 2,3,4 ...原创 2018-07-27 12:06:28 · 544 阅读 · 0 评论 -
LeetCode:227. 基本计算器 II [Java实现]
实现一个基本的计算器来计算一个简单的字符串表达式的值。字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。示例 1:输入: “3+2*2” 输出: 7 示例 2:输入: ” 3/2 ” 输出: 1 示例 3:输入: ” 3+5 / 2 ” 输出: 5这是一个典型的栈的应用。上代码s = s.replaceAll(...原创 2018-07-26 20:45:13 · 813 阅读 · 0 评论 -
LeetCode: 223. 矩形面积 [Java实现]
在二维平面上计算出两个由直线构成的矩形重叠后形成的总面积。每个矩形由其左下顶点和右上顶点坐标表示,如图所示。Rectangle Area示例:输入: -3, 0, 3, 4, 0, -1, 9, 2 输出: 45说明: 假设矩形面积不会超出 int 的范围。 我写的可能较为繁琐,有非常简单的方法求的交汇矩形的面积,这里我只贴出我自己的笨方法 public int comp...原创 2018-07-26 12:42:43 · 450 阅读 · 0 评论 -
LeetCode:222. 完全二叉树的节点个数
给出一个完全二叉树,求出该树的节点个数。说明:完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。示例:输入: 1 / \ 2 3 / \ / 4 5 6输出: 6这一题遍历二叉树容易超时,...原创 2018-07-26 10:28:54 · 247 阅读 · 0 评论 -
LeetCode-221:最大正方形[Java实现]
在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0输出: 4 有很多人用动态规划来做,这里提供一种非dp的做法,运行时间17ms。class Solution { public int maximalSquare(char[][] ...原创 2018-07-25 14:24:06 · 870 阅读 · 0 评论 -
LeetCode-220:存在重复元素 [Java实现]
给定一个整数数组,判断数组中是否有两个不同的索引 i 和 j,使得 nums [i] 和 nums [j] 的差的绝对值最大为 t,并且 i 和 j 之间的差的绝对值最大为 ķ。示例 1:输入: nums = [1,2,3,1], k = 3, t = 0 输出: true 示例 2:输入: nums = [1,0,1,1], k = 1, t = 2 输出: true 示例 ...原创 2018-07-25 12:46:25 · 1087 阅读 · 0 评论 -
LeetCode-216:组合总和 III [Java实现]
找出所有相加之和为 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]]这一题是一个明显的深...原创 2018-07-25 12:42:53 · 471 阅读 · 0 评论 -
LeetCode-139 单词拆分
给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1:输入: s = “leetcode”, wordDict = [“leet”, “code”] 输出: true 解释: 返回 true 因为 “leetcode”...原创 2018-07-13 19:47:18 · 383 阅读 · 0 评论 -
从零开始敲LeetCode中级(Java)-2:矩阵置零
给定一个 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], ...原创 2018-07-13 15:30:52 · 447 阅读 · 0 评论 -
LeetCode115:不同的子序列 [Python3实现]
题目给定一个字符串 S 和一个字符串 T,计算在 S 的子序列中 T 出现的个数。一个字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE” 是 “ABCDE” 的一个子序列,而 “AEC” 不是)示例 1:输入: S = “rabbbit”, T = “rabbit”输出: 3解释:如下图所示, 有 3 种可以从 S ...原创 2018-11-29 13:47:18 · 639 阅读 · 0 评论