Leetcode
WangXu__
这个作者很懒,什么都没留下…
展开
-
Leetcode-560. 和为K的子数组
Leetcode-560. 和为K的子数组 给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。示例 1 :输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。说明 : 数组的长度为 [1, 20,000]...原创 2019-08-02 10:07:34 · 238 阅读 · 0 评论 -
20190509-Leetcode-237. 删除链表中的节点
Leetcode-237. 删除链表中的节点请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。示例 1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2:输入: head = [4,5...原创 2019-05-09 21:52:33 · 95 阅读 · 0 评论 -
20190509-Leetcode-461.汉明距离
Leetcode-461.汉明距离两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0)↑ ↑上面的箭头指出了对应二进制位不同的位置。思路:1.先异或,使得...原创 2019-05-09 21:28:56 · 97 阅读 · 0 评论 -
20190509-Leetcode-709. 转换成小写字母
Leetcode-709. 转换成小写字母实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。示例 1:输入: “Hello”输出: “hello”示例 2:输入: “here”输出: “here”示例 3:输入: “LOVELY”输出: “lovely”C++代码:class Solution...原创 2019-05-09 20:26:56 · 94 阅读 · 0 评论 -
20190427-Leetcode-70.爬楼梯
Leetcode-70.爬楼梯假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2...原创 2019-05-08 21:31:39 · 107 阅读 · 0 评论 -
20190427-Leetcode-53.最大子序和
Leetcode-53.最大子序和给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。思路:计算第n个位置上的最大值,即判...原创 2019-05-07 11:21:01 · 95 阅读 · 0 评论 -
20190425-Leetcode-473.火柴拼正方形
Leetcode-473.火柴拼真方形还记得童话《卖火柴的小女孩》吗?现在,你知道小女孩有多少根火柴,请找出一种能使用所有火柴拼成一个正方形的方法。不能折断火柴,可以把火柴连接起来,并且每根火柴都要用到。输入为小女孩拥有火柴的数目,每根火柴用其长度表示。输出即为是否能用所有的火柴拼成正方形。示例 1:输入: [1,1,2,2,2]输出: true解释: 能拼成一个边长为2的正方形,每边...原创 2019-05-07 11:19:37 · 306 阅读 · 0 评论 -
20190423-Leetcode-126.单词接龙2
Leetcode-126.单词接龙2给定两个单词(beginWord 和 endWord)和一个字典 wordList,找出所有从 beginWord 到 endWord 的最短转换序列。转换需遵循如下规则:每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。说明:如果不存在这样的转换序列,返回一个空列表。所有单词具有相同的长度。所有单词只由小写字母组成。字典中不存在...原创 2019-05-07 11:18:17 · 221 阅读 · 0 评论 -
20190421-Leetcode-200.岛屿的个数
Leetcode-200.岛屿的个数给定一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。示例 1:输入:11110110101100000000输出: 1示例 2:输入:11000110000010000011输出: 3思路:用mark[...原创 2019-05-07 11:15:10 · 116 阅读 · 0 评论 -
20190421-Leetcode-127.单词接龙
Leetcode-127.单词接龙给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord到 endWord 的最短转换序列的长度。转换需遵循如下规则:每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。说明:如果不存在这样的转换序列,返回 0。所有单词具有相同的长度。所有单词只由小写字母组成。字典中不存在重复的单词。你可以假设 ...原创 2019-05-07 11:09:11 · 106 阅读 · 0 评论 -
20190419-Leetcode-187-重复的DNA序列
Leetcode-187.重复的DNA序列所有 DNA 由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。编写一个函数来查找 DNA 分子中所有出现超多一次的10个字母长的序列(子串)。示例:输入: s = “AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT”输出: [“...原创 2019-05-07 11:07:06 · 181 阅读 · 0 评论 -
20190509-Leetcode-832. 翻转图像
Leetcode-832. 翻转图像给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]。示例 1:输入: [[1,1,0]...原创 2019-05-09 22:07:04 · 97 阅读 · 0 评论 -
20190604-Leetcode-152. 乘积最大子序列
Leetcode-152. 乘积最大子序列给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。思路: &nb...原创 2019-06-04 15:49:24 · 88 阅读 · 0 评论 -
20190604-Leetcode-977. 有序数组的平方
Leetcode-977. 有序数组的平方给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例 1:输入:[-4,-1,0,3,10]输出:[0,1,9,16,100]示例 2:输入:[-7,-3,2,3,11]输出:[4,9,9,49,121]提示:1 <= A.length <= 10000-10000 <=...原创 2019-06-04 16:19:06 · 303 阅读 · 0 评论 -
Leetcode-633. 平方数之和
Leetcode-633. 平方数之和 给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 aa + bb = c。示例1:输入: 5输出: True解释: 1 * 1 + 2 * 2 = 5 示例2:输入: 3输出: False思路: 双指针法。但是注意lef...原创 2019-08-01 23:04:35 · 218 阅读 · 0 评论 -
Leetcode-647. 回文子串
Leetcode-647. 回文子串 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串。示例 1:输入: "abc"输出: 3解释: 三个回文子串: "a", "b", "c".示例 2:输入...原创 2019-08-01 18:31:12 · 185 阅读 · 0 评论 -
Leetcode-5. 最长回文子串
Leetcode-5. 最长回文子串 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案.示例 2:输入: "cbbd"输出: "bb"思路: 中心扩展法,...原创 2019-08-01 18:26:31 · 111 阅读 · 0 评论 -
Leetcode-204. 计数质数
Leetcode-204. 计数质数 统计所有小于非负整数 n 的质数的数量。示例:输入: 10输出: 4解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。思路: 用dp数组存放该位置上的数值是否为质数。 第一次...原创 2019-07-30 23:56:21 · 131 阅读 · 0 评论 -
Leetcode-46. 全排列
Leetcode-46. 全排列给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]思路: 递归的方法求解,固定前面的数,然后不断交换后面的数。C++ code:c...原创 2019-07-12 20:25:58 · 73 阅读 · 0 评论 -
Leetcode-304. 二维区域和检索 - 矩阵不可变
Leetcode-304. 二维区域和检索 - 矩阵不可变 给定一个二维矩阵,计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2)。示例:给定 matrix = [ [3, 0, 1, 4, 2], [5, 6, 3, 2, 1], [1, 2, 0, 1, 5], [...原创 2019-07-29 23:59:24 · 216 阅读 · 0 评论 -
Leetcode-104. 二叉树的最大深度
Leetcode-104. 二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。思路1: &nbs...原创 2019-07-04 17:29:05 · 142 阅读 · 0 评论 -
Leetcode-89. 格雷编码
Leetcode-89. 格雷编码格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。格雷编码序列必须以 0 开头。示例 1:输入: 2输出: [0,1,3,2]解释:00 - 001 - 111 - 310 - 2对于给定的 n,其格雷编码序列并不唯一。例如,[0,2,3,1] 也是一个有...原创 2019-07-08 23:18:01 · 174 阅读 · 0 评论 -
Leetcode-62. 不同路径
Leetcode-62. 不同路径一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?例如,上图是一个7 x 3 的网格。有多少可能的路径?说明:m 和 n 的值均不超过 100。示例 1:输入: m = 3, n = 2输...原创 2019-07-08 11:33:16 · 141 阅读 · 0 评论 -
Leetcode-124. 二叉树中的最大路径和
Leetcode-124. 二叉树中的最大路径和给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 6示例 2:输入: [-10,9,20,null,null,15,7] -10...原创 2019-07-08 15:04:56 · 122 阅读 · 0 评论 -
20190419-Leetcode-76.最小覆盖子串
Leetcode-76.最小覆盖子串给定一个字符串 S 和一个字符串 T,请在 S 中找出包含 T 所有字母的最小子串。示例:输入: S = “ADOBECODEBANC”, T = “ABC”输出: “BANC”说明:如果 S 中不存这样的子串,则返回空字符串 “”。如果 S 中存在这样的子串,我们保证它是唯一的答案。思路:初试两个指针,一个为begin,一个为end,end依...原创 2019-05-07 11:04:48 · 175 阅读 · 0 评论 -
20190419-Leetcode-3.无重复最长子串
Leetcode-3.无重复的最长子串给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因...原创 2019-05-07 11:01:54 · 64 阅读 · 0 评论 -
20190417-Leetcode-409.最长回文数
Leetcode-409.最长回文数给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。注意:假设字符串的长度不会超过 1010。示例 1:输入:“abccccdd”输出:7解释:我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。思路:用一个数组存放A-Z和a...原创 2019-05-07 10:59:43 · 1067 阅读 · 0 评论 -
20190428-Leetcode-64.最小路径和
Leetcode-64.最小路径和给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[[1,3,1],[1,5,1],[4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。思路:动态规划问题,创建一个与grid相同大小的二维数组,然后对应位置中的数值...原创 2019-05-08 21:38:58 · 100 阅读 · 0 评论 -
20190427-Leetcode-407.接雨水2
Leetcode-407.接雨水2给定一个 m x n 的矩阵,其中的值均为正整数,代表二维高度图每个单元的高度,请计算图中形状最多能接多少体积的雨水。说明:m 和 n 都是小于110的整数。每一个单位的高度都大于0 且小于 20000。示例:给出如下 3x6 的高度图:[[1,4,3,1,3,2],[3,2,1,3,2,4],[2,3,3,2,3,1]]返回 4。思路:...原创 2019-05-08 21:37:45 · 166 阅读 · 0 评论 -
20190427-Leetcode-322.零钱兑换
Leetcode-322.零钱兑换给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。示例 1:输入: coins = [1, 2, 5], amount = 11输出: 3解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3...原创 2019-05-08 21:35:02 · 91 阅读 · 0 评论 -
20190427-Leetcode-198.打家劫舍
Leetcode-198.打家劫舍你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 ...原创 2019-05-08 21:33:09 · 73 阅读 · 0 评论 -
20190415-Leetcode-207.课程表
Leetcode-207.课程表现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1,0]]输出: true解释: 总共有 2 门课程。学习课程 1 之前,你需要完成...原创 2019-05-06 11:02:46 · 141 阅读 · 0 评论 -
20190414-Leetcode-628.三个数的最大乘积
Leetcode-628.三个数的最大乘积给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。示例 1:输入: [1,2,3]输出: 6示例 2:输入: [1,2,3,4]输出: 24注意:给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。思路:分别定义一个...原创 2019-05-06 10:59:10 · 131 阅读 · 0 评论 -
20190413-Leetcode-236.二叉树的最近公共祖先
Leetcode-236.二叉树的最近公共祖先给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]示例 1:输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1输出: 3解释: 节点 5 和节点 1 的最近公共祖先是节点 3。...原创 2019-05-06 10:57:30 · 103 阅读 · 0 评论 -
20190413-Leetcode-199.二叉树的右视图
Leetcode-199.二叉树的右视图给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例:输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释:思路1:初始两个队列1和队列2,和结果res,按照层次遍历的思想遍历树,把头节点放入队列1;头节点放入res;循环判断队列1是不是为空:右节点不为空,把右节点放...原创 2019-05-06 10:55:21 · 127 阅读 · 0 评论 -
20190413-Leetcode-114.二叉树展开为链表
leetcode-114.二叉树展开为链表给定一个二叉树,原地将它展开为链表。例如,给定二叉树将其展开为:思路1:把所有树的所有结点先序遍历放在vector中,然后依次连接,连接所有的结点。代码1:class Solution {public: void preorder(TreeNode* root, vector<TreeNode* >& tree...原创 2019-05-06 10:52:16 · 114 阅读 · 0 评论 -
20190413-Leetcode-112.路径总和
Leetcode-112-路径总和给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22,返回 true, 因为存在目标和为 22 的根节点到叶子节点的路径 5->4->11->2。思路:递归依次先序遍历所有路径,判断路径中是否...原创 2019-05-06 10:45:37 · 67 阅读 · 0 评论 -
20190428-Leetcode-120.三角形最小路径和
Leetcode-120.三角形最小路径和给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[[2],[3,4],[6,5,7],[4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。说明:如果你可以只使用 O(n) 的额外空间(n 为三角形的总行数)来解决这个问题,那么你的算法会很加分。...原创 2019-05-08 21:40:36 · 86 阅读 · 0 评论 -
20190428-Leetcode-174.地下城游戏
Leetcode-174.地下城游戏一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由 M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即死亡。有些房间由恶魔守卫,因此骑士在进入这些房间时会失去健康点数(若房间里的值为负整数...原创 2019-05-08 21:43:21 · 145 阅读 · 0 评论 -
20190428-Leetcode-300.最长上升子序列
Leetcode-300.最长上升子序列给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为 O(n2) 。进阶: 你能将算法的时间复杂度降低到 O(n ...原创 2019-05-08 21:44:56 · 75 阅读 · 0 评论