LeetCode
文章平均质量分 64
总有一天,我会把这个坑填上!
1000sakura
https://home.cnblogs.com/u/1000sakura/
展开
-
【LeetCode】Reverse Bits(颠倒二进制位)
这道题是LeetCode里的第190道题。题目描述:颠倒给定的 32 位无符号整数的二进制位。示例 1:输入: 00000010100101000001111010011100输出: 00111001011110000010100101000000解释: 输入的二进制串 00000010100101000001111010011100 表示无符号整数 43261596...原创 2019-05-19 19:54:01 · 150 阅读 · 0 评论 -
【LeetCode】House Robber II(打家劫舍 II)
这道题是LeetCode里的第213道题。题目描述:你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。...原创 2019-05-19 14:58:10 · 261 阅读 · 0 评论 -
【LeetCode】House Robber(打家劫舍)
这道题是LeetCode里的第198道题。题目描述:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出...原创 2019-05-19 14:35:59 · 178 阅读 · 0 评论 -
【LeetCode】Factorial Trailing Zeroes(阶乘后的零)
这道题是LeetCode里的第172道题。题目描述:给定一个整数n,返回n! 结果尾数中零的数量。示例 1:输入: 3输出: 0解释:3! = 6, 尾数中没有零。示例2:输入: 5输出: 1解释:5! = 120, 尾数中有 1 个零.说明:你算法的时间复杂度应为O(logn)。0 来源于 2 * 5,因为在阶乘中,因子 2 肯定...原创 2019-05-18 19:55:50 · 155 阅读 · 0 评论 -
【LeetCode】Majority Element(求众数)
这道题是LeetCode里的第169道题。题目描述:给定一个大小为n的数组,找到其中的众数。众数是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例1:输入: [3,2,3]输出: 3示例2:输入: [2,2,1,1,1,2,2]输出: 2三种方法:摩尔投票法 排序后去中间数 使用哈...原创 2019-05-18 19:44:05 · 101 阅读 · 0 评论 -
【LeetCode】Excel Sheet Column Title(Excel表列名称)
这道题是LeetCode里的第168道题。题目描述:给定一个正整数,返回它在 Excel 表中相对应的列名称。例如, 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB ...示例 1:输入: 1输出: "A"...原创 2019-05-18 18:34:23 · 206 阅读 · 0 评论 -
【LeetCode】Two Sum II - Input array is sorted(两数之和 II - 输入有序数组)
这道题是LeetCode里的第167道题。题目描述:给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值index1 和 index2,其中 index1必须小于index2。说明:返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:...原创 2019-05-18 17:14:15 · 118 阅读 · 0 评论 -
【LeetCode】Best Time to Buy and Sell Stock II(买卖股票的最佳时机 II)
这道题是LeetCode里的第122道题。题目描述:给定一个数组,它的第i个元素是一支给定股票第i天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)...原创 2019-05-18 16:40:11 · 129 阅读 · 0 评论 -
【LeetCode】Best Time to Buy and Sell Stock(买卖股票的最佳时机)
这道题是LeetCode里的第121道题。题目描述:给定一个数组,它的第i个元素是一支给定股票第i天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价...原创 2019-05-18 16:20:50 · 297 阅读 · 0 评论 -
【LeetCode】Pascal's Triangle II(杨辉三角 II)
这道题是LeetCode里的第119道题。题目描述:给定一个非负索引k,其中k≤33,返回杨辉三角的第k行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 3输出: [1,3,3,1]进阶:你可以优化你的算法到O(k) 空间复杂度吗?直接把 118 的拿过来改改就行了呗!偷懒可以,但是该学的算法还是得学啊!其实这题可以算...原创 2019-05-03 23:23:46 · 149 阅读 · 0 评论 -
【LeetCode】Minimum Depth of Binary Tree(二叉树的最小深度)
这道题是LeetCode里的第111道题。题目描述:给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最小深度 2.递归解决。调...原创 2019-05-01 21:41:50 · 113 阅读 · 0 评论 -
【LeetCode】Convert Sorted Array to Binary Search Tree(将有序数组转换为二叉搜索树)
这道题是LeetCode里的第108道题。题目描述:将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0...原创 2019-05-01 21:09:15 · 121 阅读 · 0 评论 -
【LeetCode】Binary Tree Level Order Traversal II(二叉树的层次遍历 II)
这道题是LeetCode里的第107道题。题目描述:给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其自底向上的层次遍历为:[ [15,7], [9,...原创 2019-04-30 22:47:54 · 130 阅读 · 0 评论 -
【LeetCode】Pascal's Triangle(杨辉三角)
这道题是LeetCode里的第118道题。题目描述:给定一个非负整数numRows,生成杨辉三角的前numRows行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]题目虽然看起来简单,而且大部分人都做过,但是...原创 2019-04-30 22:39:48 · 138 阅读 · 0 评论 -
【LeetCode】Valid Palindrome(验证回文串)
这道题是LeetCode里的第125道题。题目描述:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: false三个步骤:小...原创 2019-04-30 22:27:42 · 126 阅读 · 0 评论 -
【LeetCode】Min Stack(最小栈)
这道题是LeetCode里的第155道题。题目描述:设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x)-- 将元素 x 推入栈中。 pop()-- 删除栈顶的元素。 top()-- 获取栈顶元素。 getMin() -- 检索栈中的最小元素。示例:MinStack minStack = new MinStack();...原创 2019-04-30 21:51:35 · 361 阅读 · 0 评论 -
【LeetCode】Count Primes(计数质数)
这道题是LeetCode里的第204道题。题目描述:统计所有小于非负整数n的质数的数量。示例:输入: 10输出: 4解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。这道题很有意思,使用的是 厄拉多塞筛法,基本思想是用一个记录数组记录是否为质,质数为 0,反之为合数。可以确定两点:x 是素数,x 的倍数肯定不是素数 若 x 不是素数...原创 2019-04-30 20:58:04 · 293 阅读 · 0 评论 -
【LeetCode】Sqrt(x)(x 的平方根)
这道题是LeetCode里的第69道题。题目描述:实现int sqrt(int x)函数。计算并返回x的平方根,其中x是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被...原创 2019-04-30 20:39:16 · 152 阅读 · 0 评论 -
【LeetCode】Single Number(只出现一次的数字)
这道题是LeetCode里的第136道题。题目描述:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,2]输出: 4方法一:使用哈希表,建立一个哈希数...原创 2019-04-30 20:29:29 · 324 阅读 · 0 评论 -
【LeetCode】Power of Four(4的幂)
这道题是LeetCode里的第342道题。题目描述:给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4的幂次方。示例 1:输入: 16输出: true示例 2:输入: 5输出: false进阶:你能不使用循环或者递归来完成本题吗?解题代码:class Solution { public boolean isPowe...原创 2019-04-27 17:29:45 · 251 阅读 · 0 评论 -
【LeetCode】Power of Three(3的幂)
这道题是LeetCode里的第326道题。题目描述:给定一个整数,写一个函数来判断它是否是 3的幂次方。示例 1:输入: 27输出: true示例 2:输入: 0输出: false示例 3:输入: 9输出: true示例 4:输入: 45输出: false进阶:你能不使用循环或者递归来完成本题吗?数论的知识,3 的幂次的质因...原创 2019-04-27 17:23:12 · 195 阅读 · 0 评论 -
【LeetCode】Power of Two(2的幂)
这道题是LeetCode里的第231道题。题目描述:给定一个整数,编写一个函数来判断它是否是 2 的幂次方。示例1:输入: 1输出: true解释: 20= 1示例 2:输入: 16输出: true解释: 24= 16示例 3:输入: 218输出: false位运算,2 的幂次方的二进制为 1000...000,减去 1 之后变为 11...原创 2019-04-27 17:16:11 · 108 阅读 · 0 评论 -
【LeetCode】Climbing Stairs(爬楼梯)
这道题是LeetCode里的第70道题。题目描述:假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定n是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以...原创 2019-04-21 18:45:41 · 302 阅读 · 0 评论 -
【LeetCode】Fibonacci Number(斐波那契数)
这道题是LeetCode里的第509道题。题目描述:斐波那契数,通常用F(n)表示,形成的序列称为斐波那契数列。该数列由0和1开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0, F(1)= 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.给定N,计算F(N)。示例 1:输入:2输出...原创 2019-04-21 18:40:15 · 448 阅读 · 0 评论 -
【LeetCode】Add Digits(各位相加)
这道题是LeetCode里的第258道题。题目描述:给定一个非负整数num,反复将各个位上的数字相加,直到结果为一位数。示例:输入: 38输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。由于2 是一位数,所以返回 2。进阶:你可以不使用循环或者递归,且在 O(1) 时间复杂度内解决这个问题吗?如果我们用循环做的话,首先先...原创 2019-04-21 18:35:46 · 158 阅读 · 0 评论 -
【LeetCode】Robot Return to Origin(机器人能否返回原点)
这道题是LeetCode里的第657道题。题目描述:在二维平面上,有一个机器人从原点 (0, 0) 开始。给出它的移动顺序,判断这个机器人在完成移动后是否在(0, 0) 处结束。移动顺序由字符串表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有R(右),L(左),U(上)和D(下)。如果机器人在完成所有动作后返回原点,则返回 true。否则,返回 false。...原创 2019-04-21 18:29:44 · 391 阅读 · 0 评论 -
【LeetCode】Plus One(加一)
这道题是LeetCode里的第66道题。题目描述:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例2:输入: [4,3,2,1]输...原创 2019-04-21 18:25:08 · 107 阅读 · 0 评论 -
【LeetCode】Length of Last Word(最后一个单词的长度)
这道题是LeetCode里的第58道题。题目描述:给定一个仅包含大小写字母和空格' '的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0。说明:一个单词是指由字母组成,但不包含任何空格的字符串。示例:输入: "Hello World"输出: 5求的是最后一个单词的长度,逆向思维,我们可以从后往前遍历字符串,记录第一个字符出现的位置和以该...原创 2019-04-21 18:17:42 · 141 阅读 · 0 评论 -
【LeetCode】Add Binary(二进制求和)
这道题是LeetCode里的第67道题。题目描述:给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字1和0。示例1:输入: a = "11", b = "1"输出: "100"示例2:输入: a = "1010", b = "1011"输出: "10101"为了计算的方便我们把结果放入一个新的字符串里。然后就是...原创 2019-04-21 18:13:16 · 300 阅读 · 0 评论 -
【LeetCode】汉明距离(Hamming Distance)
这道题是LeetCode里的第461道题。题目描述:两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数x和y,计算它们之间的汉明距离。注意:0 ≤x,y< 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头...原创 2019-04-13 14:11:54 · 570 阅读 · 0 评论 -
【LeetCode】Excel Sheet Column Number(Excel表列序号)
这道题是LeetCode里的第171道题。题目描述:给定一个Excel表格中的列名称,返回其相应的列序号。例如, A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ...示例 1:输入: "A"输出: 1示例...原创 2019-04-13 13:40:12 · 140 阅读 · 0 评论 -
【LeetCode】Merge Sorted Array(合并两个有序数组)
这道题是LeetCode里的第88道题。题目描述:给定两个有序整数数组nums1和nums2,将nums2合并到nums1中,使得num1成为一个有序数组。说明:初始化nums1和nums2的元素数量分别为m和n。 你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存nums2中的元素。示例:输入:nums1...原创 2019-04-13 13:36:12 · 125 阅读 · 0 评论 -
【LeetCode】Remove Duplicates from Sorted List(删除排序链表中的重复元素)
这道题是LeetCode里的第83道题。题目描述:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例1:输入: 1->1->2输出: 1->2示例2:输入: 1->1->2->3->3输出: 1->2->3直接遍历链表使用双指针或者使用哈希表都行,只是哈希表需要新建一个链表来返回结果...原创 2019-04-13 13:30:15 · 104 阅读 · 0 评论 -
【LeetCode】Search Insert Position(搜索插入位置)
这道题是LeetCode里的第35道题。题目描述:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输...原创 2019-04-13 13:23:17 · 184 阅读 · 0 评论 -
【LeetCode】Longest Substring Without Repeating Characters(无重复字符的最长子串)
这道题是LeetCode里的第3道题。题目描述:给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入:...原创 2019-04-13 13:14:42 · 119 阅读 · 0 评论 -
【LeetCode】Merge Two Sorted Lists(合并两个有序链表)
这道题是LeetCode里的第21道题。题目描述:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4这道题需要考虑的地方挺多的,首先是头节点的处理,还有尾节点的链接问题。对于头节点,我的想法是...原创 2019-04-13 12:55:20 · 163 阅读 · 0 评论 -
【LeetCode】Implement strStr()(实现strStr())
这道题是LeetCode里的第28道题。题目描述:实现strStr()函数。给定一个haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回-1。示例 1:输入: haystack = "hello", needle = "ll"输出: 2示例 2:...原创 2019-04-13 11:50:36 · 97 阅读 · 0 评论 -
【LeetCode】移除元素(Remove Element)
这道题是LeetCode里的第27道题。题目描述:给定一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val =...原创 2019-04-13 10:55:33 · 162 阅读 · 0 评论 -
【LeetCode】Remove Duplicates from Sorted Array(删除排序数组中的重复项)
这道题是LeetCode里的第26道题。题目描述:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为你不需要...原创 2019-04-13 10:40:43 · 152 阅读 · 0 评论 -
【LeetCode】Longest Common Prefix(最长公共前缀)
这道题是LeetCode里的第14道题。题目描述:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1:输入: ["flower","flow","flight"]输出: "fl"示例2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入只包含小...原创 2019-04-05 15:42:49 · 143 阅读 · 0 评论