自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Remove Invalid Parentheses 删除无效的括号

删除最小数量的无效括号,使得输入的字符串有效,返回所有可能的结果。 说明:输入可能包含了除(和)以外的字符。 示例 1: 输入: "()())()" 输出: ["()()()", "(())()"] 示例 2: 输入: &...

2019-06-05 16:00:22 117 0

原创 LRU Cache

运用你所掌握的数据结构,设计和实现一个LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据get和 写入数据put。 获取数据get(key)- 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。 写入数据put(key, value)- 如果密钥不存...

2019-06-01 20:11:45 46 0

原创 Valid Sudoku 有效的数独

判断一个9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。 数字1-9在每一行只能出现一次。 数字1-9在每一列只能出现一次。 数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。 上图是一个部分填充的有效的数独。 数独部分空格内已填入了数字,空白格用&#...

2019-04-17 21:19:09 37 0

原创 Shortest Unsorted Continuous Subarray 最短无序连续子数组

给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。 你找到的子数组应是最短的,请输出它的长度。 示例 1: 输入: [2, 6, 4, 8, 10, 9, 15] 输出: 5 解释: 你只需要对 [6, 4, 8, 10, 9] 进行...

2019-03-25 17:50:54 44 0

原创 Burst Balloons 戳气球

有n个气球,编号为0到n-1,每个气球上都标有一个数字,这些数字存在数组nums中。 现在要求你戳破所有的气球。每当你戳破一个气球i时,你可以获得nums[left] * nums[i] * nums[right]个硬币。这里的left和right代表和i相邻的两个气球的序号。注意当你戳破了气球...

2019-03-23 23:26:53 43 0

原创 Product of Array Except Self 除自身以外数组的乘积

给定长度为n的整数数组nums,其中n> 1,返回输出数组output,其中output[i]等于nums中除nums[i]之外其余各元素的乘积。 示例: 输入: [1,2,3,4] 输出: [24,12,8,6] 说明:请不要使用除法,且在O(n) 时间复杂度内完成此题。 ...

2019-03-16 23:55:39 44 0

原创 Palindrome Linked List 回文链表

请判断一个链表是否为回文链表。 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 进阶: 你能否用O(n) 时间复杂度和 O(1) 空间复杂度解决此题? 思路: ...

2019-03-16 23:52:08 36 0

原创 reverseNode 反转链表

反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反...

2019-03-16 20:13:33 112 0

原创 Longest Consecutive Sequence 最长连续序列

给定一个未排序的整数数组,找出最长连续序列的长度。 要求算法的时间复杂度为O(n)。 示例: 输入:[100, 4, 200, 1, 3, 2] 输出: 4 解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。 思路:要求O(n)的时间复杂度,使用hashmap来存储,ke...

2019-03-13 18:43:18 34 0

原创 Binary Tree Maximum Path Sum 二叉树中的最大路径和

给定一个非空二叉树,返回其最大路径和。 本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。 示例 1: 输入: [1,2,3] 1 / \ 2 3 输出: 6 示例2: 输入: [...

2019-03-13 17:48:54 120 0

原创 85. Maximal Rectangle 最大矩形

给定一个仅包含0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例: 输入: [ ["1","0","1","0","0"], ["1",...

2019-03-12 18:24:30 50 0

原创 Minimum Window Substring 最小覆盖子串

给定一个字符串 S 和一个字符串 T,请在 S 中找出包含 T 所有字母的最小子串。 示例: 输入: S = "ADOBECODEBANC", T = "ABC" 输出: "BANC" 说明: 如果 S 中不存这样的子串,则返回...

2019-02-22 21:21:02 36 0

原创 Edit Distance 编辑距离

给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 示例 1: 输入: word1 = "horse", word2 = "...

2019-02-21 00:11:28 45 0

原创 Group Anagrams 字母异位词分组

给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 示例: 输入: ["eat", "tea", "tan", "ate", "nat", "ba...

2019-02-17 23:36:54 58 0

原创 Rotate Image 旋转图像

给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。 示例 1: 给定 matrix = [ [1,2,3], [4,5,6], [7,8,9] ...

2019-02-17 22:57:56 120 0

原创 Longest Valid Parentheses 最长有效括号

给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。 示例 1: 输入: "(()" 输出: 2 解释: 最长有效括号子串为 "()" 示例 2: 输入: ")()(...

2019-02-12 21:47:29 40 0

原创 Merge k Sorted Lists 合并K个排序链表

合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入: [   1->4->5,   1->3->4,   2->6 ] 输出: 1->1->2->...

2019-02-10 21:54:06 45 0

原创 Regular Expression Matching 正则表达式匹配

给定一个字符串 (s) 和一个字符模式 (p)。实现支持 '.' 和 '*' 的正则表达式匹配。 '.' 匹配任意单个字符。 '*' 匹配零个或多个前面的元素。 匹配应该覆盖整个字符串 (s) ,而不是部分字符...

2019-02-08 20:07:24 58 0

转载 Median of Two Sorted Arrays 寻找两个有序数组的中位数

给定两个大小为 m 和 n 的有序数组 nums1和 nums2。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nums1 和 nums2 不会同时为空。 示例 1: nums1 = [1, 3] nums2 = [2] 则中位...

2019-02-03 20:59:28 170 0

原创 Maximum Swap 最大交换

给定一个非负整数,你至多可以交换一次数字中的任意两位。返回你能得到的最大值。 示例 1 : 输入: 2736 输出: 7236 解释: 交换数字2和数字7。 示例 2 : 输入: 9973 输出: 9973 解释: 不需要交换。 注意: 给定数字的范围是 [0, 108] 思路...

2019-01-14 23:03:23 49 0

原创 Valid Square 有效的正方形

给定二维空间中四点的坐标,返回四点是否可以构造一个正方形。 一个点的坐标(x,y)由一个有两个整数的整数数组表示。 示例: 输入: p1 = [0,0], p2 = [1,1], p3 = [1,0], p4 = [0,1] 输出: True 注意: 所有输入整数都在 [-10000...

2019-01-14 00:02:48 48 0

原创 Optimal Division 最优除法

给定一组正整数,相邻的整数之间将会进行浮点除法操作。例如, [2,3,4] -> 2 / 3 / 4 。 但是,你可以在任意位置添加任意数目的括号,来改变算数的优先级。你需要找出怎么添加括号,才能得到最大的结果,并且返回相应的字符串格式的表达式。你的表达式不应该含有冗余的括号。 ...

2019-01-07 23:22:19 33 0

原创 Complex Number Multiplication 复数乘法

给定两个表示复数的字符串。 返回表示它们乘积的字符串。注意,根据定义 i2 = -1 。 示例 1: 输入: "1+1i", "1+1i" 输出: "0+2i" 解释: (1 + i) * (1 + i) = 1 + i2 + 2...

2019-01-06 23:21:39 73 0

原创 Encode and Decode TinyURL TinyURL 的加密与解密

TinyURL是一种URL简化服务, 比如:当你输入一个URL https://leetcode.com/problems/design-tinyurl 时,它将返回一个简化的URL http://tinyurl.com/4e9iAk. 要求:设计一个 TinyURL 的加密 encode 和解...

2019-01-01 16:38:13 344 0

原创 Minimum Moves to Equal Array Elements II 最少移动次数使数组元素相等 II

给定一个非空整数数组,找到使所有数组元素相等所需的最小移动数,其中每次移动可将选定的一个元素加1或减1。 您可以假设数组的长度最多为10000。 例如: 输入: [1,2,3] 输出: 2 说明: 只有两个动作是必要的(记得每一步仅可使其中一个元素加1或减1): [1,2,3] =...

2019-01-01 14:05:27 82 0

原创 Reconstruct Original Digits from English 从英文中重建数字

给定一个非空字符串,其中包含字母顺序打乱的英文单词表示的数字0-9。按升序输出原始的数字。 注意: 输入只包含小写英文字母。 输入保证合法并可以转换为原始的数字,这意味着像 "abc" 或 "zerone" 的输入是不允许的。 输入字符串的长度小于 ...

2018-12-31 22:48:12 49 0

原创 Rotate Function 旋转函数

给定一个长度为 n 的整数数组 A 。 假设 Bk 是数组 A 顺时针旋转 k 个位置后的数组,我们定义 A 的“旋转函数” F 为: F(k) = 0 * Bk[0] + 1 * Bk[1] + ... + (n-1) * Bk[n-1]。 计算F(0), F(1), ..., F(n-1...

2018-12-31 18:45:29 145 0

原创 Super Pow 超级次方

你的任务是计算 ab 对 1337 取模,a 是一个正整数,b 是一个非常大的正整数且会以数组形式给出。 示例 1: 输入: a = 2, b = [3] 输出: 8 示例 2: 输入: a = 2, b = [1,0] 输出: 1024 思路:这道题如果不知道一些求余的规则,那么...

2018-12-09 17:58:29 212 0

原创 Water and Jug Problem 水壶问题

有两个容量分别为 x升 和 y升 的水壶以及无限多的水。请判断能否通过使用这两个水壶,从而可以得到恰好 z升 的水? 如果可以,最后请用以上水壶中的一或两个来盛放取得的 z升 水。 你允许: 装满任意一个水壶 清空任意一个水壶 从一个水壶向另外一个水壶倒水,直到装满或者倒空 示例 1: ...

2018-12-09 12:19:18 95 0

原创 Rectangle Area 矩形面积

在二维平面上计算出两个由直线构成的矩形重叠后形成的总面积。 每个矩形由其左下顶点和右上顶点坐标表示,如图所示。 示例: 输入: -3, 0, 3, 4, 0, -1, 9, 2 输出: 45 说明: 假设矩形面积不会超出 int 的范围。 思路:因为求两个矩形的占地面积,所以两个矩...

2018-12-09 10:51:03 86 0

原创 Fraction to Recurring Decimal 分数到小数

给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以字符串形式返回小数。 如果小数部分为循环小数,则将循环的部分括在括号内。 示例 1: 输入: numerator = 1, denominator = 2 输出: "0.5" 示...

2018-12-08 19:00:44 48 0

原创 Multiply Strings 字符串相乘

给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 示例 1: 输入: num1 = "2", num2 = "3" 输出: "6" 示例 2: 输...

2018-12-08 10:27:53 35 0

原创 Divide Two Integers 两数相除

给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。 返回被除数 dividend 除以除数 divisor 得到的商。 示例 1: 输入: dividend = 10, divisor = 3 输出: 3 示例 2: ...

2018-12-02 16:42:53 44 0

原创 Integer to Roman 整数转罗马数字

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D ...

2018-12-02 15:36:27 76 0

原创 String to Integer (atoi) 字符串转换整数 (atoi)

请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后...

2018-12-02 14:35:04 33 0

原创 DI String Match 增减字符串匹配

给定只含 "I"(增大)或 "D"(减小)的字符串 S ,令 N = S.length。 返回 [0, 1, ..., N] 的任意排列 A 使得对于所有 i = 0, ..., N-1,都有: 如果 S[i] == "I",那么 A...

2018-11-30 23:04:41 100 0

原创 X of a Kind in a Deck of Cards 卡牌分组

给定一副牌,每张牌上都写着一个整数。 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌。 组内所有的牌上都写着相同的整数。 仅当你可选的 X >= 2 时返回 true。 示例 1: 输入:[1,2,3,4,4,3,2,...

2018-11-30 22:49:09 71 0

原创 Smallest Range I 最小差值 I

给定一个整数数组 A,对于每个整数 A[i],我们可以选择任意 x 满足 -K <= x <= K,并将 x 加到 A[i] 中。 在此过程之后,我们得到一些数组 B。 返回 B 的最大值和 B 的最小值之间可能存在的最小差值。 示例 1: 输入:A = [1...

2018-11-30 21:22:02 38 0

原创 Binary Gap 二进制间距

给定一个正整数 N,找到并返回 N 的二进制表示中两个连续的 1 之间的最长距离。  如果没有两个连续的 1,返回 0 。 示例 1: 输入:22 输出:2 解释: 22 的二进制是 0b10110 。 在 22 的二进制表示中,有三个 1,组成两对连续的 1 。 第一对连续的 1 中,两...

2018-11-28 23:23:11 55 0

原创 Rectangle Overlap 矩形重叠

矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标。 如果相交的面积为正,则称两矩形重叠。需要明确的是,只在角或边接触的两个矩形不构成重叠。 给出两个矩形,判断它们是否重叠并返回结果。 示例 1: 输入:re...

2018-11-28 22:36:40 320 0

提示
确定要删除当前文章?
取消 删除