![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode
未来老干部
努力学习,紧跟潮流。
从事linux C++ 服务器开发
展开
-
leetcode-数组-简单-斐波那契数
题目斐波那契数,通常用F(n) 表示,形成的序列称为斐波那契数列。该数列由0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1)= 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.给定N,计算F(N)来源:https://leetcode-cn.com/problems/fibonacci-number示例:示例 1:输入:2输出:1解释:F(2) = F(1) + F(0) = 1 +...原创 2020-07-05 14:39:08 · 203 阅读 · 0 评论 -
leetcode-数组-简单-最大连续1的个数
题目给定一个二进制数组, 计算其中最大连续1的个数。来源:https://leetcode-cn.com/problems/max-consecutive-ones/示例:输入: [1,1,0,1,1,1]输出: 3解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.解答方法一:只要遇到1 就继续往后寻找第一个不是1的数字 记录个数然后对比最大值class Solution {public: int findMaxConsecutive原创 2020-07-05 14:15:13 · 378 阅读 · 0 评论 -
leetcode-数组-简单-找到所有数组中消失的数字
题目给定一个范围在1 ≤ a[i] ≤ n (n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。来源:https://leetcode-cn.com/problems/find-all-numbers-disappeared-in-an-array示例:输入:[4,3,2,7,...原创 2020-07-05 13:34:32 · 2666 阅读 · 0 评论 -
leetcode-数组-简单-第三大的数
题目给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。来源:https://leetcode-cn.com/problems/third-maximum-number/示例:示例 1:输入: [3, 2, 1]输出: 1解释: 第三大的数是 1.示例 2:输入: [1, 2]输出: 2解释: 第三大的数不存在, 所以返回最大的数 2 .示例 3:输入: [2, 2, 3, 1]输出: 1解释: 注意,要求原创 2020-07-05 13:18:28 · 285 阅读 · 0 评论 -
leetcode-数组-简单-移动零
题目给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。来源:https://leetcode-cn.com/problems/move-zeroes/示例:示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。解答方法一:思路如下发现一个0, 把后边的元素依次往前移动, 最后一个元素赋值为0 每次发现一个0的时候,后边往前移动的元...原创 2020-07-05 13:02:30 · 200 阅读 · 0 评论 -
leetcode-数组-简单-缺失数字
题目给定一个包含0, 1, 2, ..., n中n个数的序列,找出 0 ..n中没有出现在序列中的那个数。来源:https://leetcode-cn.com/problems/missing-number/示例 1:输入: [3,0,1]输出: 2示例 2:输入: [9,6,4,2,3,5,7,0,1]输出: 8额外要求:你的算法应具有线性时间复杂度。你能否仅使用额外常数空间来实现?解答方法一:在不考虑线性时间复杂度的前提下,使用排序,然后查找的方法...原创 2020-07-05 12:48:35 · 170 阅读 · 0 评论 -
leetcode-数组-简单-存在重复元素 II
题目给定一个整数数组和一个整数k,判断数组中是否存在两个不同的索引i和j,使得nums [i] = nums [j],并且 i 和 j的差的 绝对值 至多为 k。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/contains-duplicate-ii著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。示例1:输入: nums = [1,2,3,1], k = 3输出: true示例 2:输入: n...原创 2020-07-05 12:25:47 · 121 阅读 · 0 评论 -
leetcode-数组-简单-存在重复元素
题目给定一个整数数组,判断是否存在重复元素。如果任意一值在数组中出现至少两次,函数返回true。如果数组中每个元素都不相同,则返回false来源:https://leetcode-cn.com/problems/contains-duplicate/示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true解答方法一:穷举法分析...原创 2020-07-05 11:58:31 · 134 阅读 · 0 评论 -
leetcode-数组-简单-旋转数组
题目给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]输入: [-1,-100,3,99] 和 k = 2输出: [3,99,-1,-100]解释: 向右旋转 1 步: [99,-1,-100,3]向右旋转 2 ...原创 2020-06-27 19:38:14 · 137 阅读 · 0 评论 -
leetcode-数组-简单-多数元素
题目给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/majority-element著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。输入: [3,2,3]输出: 3输入: [2,2,1,1,1,2,2]输出: 2解答方法一:分析如下:..原创 2020-06-27 12:38:49 · 137 阅读 · 0 评论 -
leetcode-数组-简单-两数之和 II - 输入有序数组
题目给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1必须小于index2。说明: 返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。输入: numbers = [2, 7, 11, 15], target = 9输出: [1,2]解释: 2 与 7 之和等于目标数 9 。因此 i...原创 2020-06-26 19:11:40 · 153 阅读 · 0 评论 -
leetcode-数组-简单-买卖股票的最佳时机 II
题目给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。输入: [7,1..原创 2020-06-26 17:24:22 · 142 阅读 · 0 评论 -
leetcode-数组-简单-买卖股票的最佳时机
题目给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。输入: [7,1,5,3,6,4]输出: 5解释: 在第 2.原创 2020-06-26 09:57:54 · 192 阅读 · 0 评论 -
leetcode-数组-简单-杨辉三角 II
题目给定一个非负索引k,其中k≤33,返回杨辉三角的第k行输入: 3输出: [1,3,3,1]来源:https://leetcode-cn.com/problems/pascals-triangle-ii/解答方法一:因为已经做过一个杨辉三角的题目所以这个题目是没啥难度的。但是题目在进阶的说明里边说要使用 O(k)的空间复杂度,这个确实需要思考一下。分析如下:k行 有 k + 1 个元素 每行元素的计算方法和上个问题是一样的 重点是下一行元素的计算依赖上一...原创 2020-06-26 09:12:11 · 122 阅读 · 0 评论 -
leetcode-数组-简单-杨辉三角
题目给定一个非负整数numRows,生成杨辉三角的前numRows行。在杨辉三角中,每个数是它左上方和右上方的数的和。来源:https://leetcode-cn.com/problems/pascals-triangle/输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]解答方法一:我解答这个题目的时候分析是这样的:假设从row是从0 开始的 除row = 0 之外,所有...原创 2020-06-26 08:50:54 · 114 阅读 · 0 评论 -
leetcode-数组-简单-合并两个有序数组
题目给你两个有序整数数组nums1 和 nums2,请你将 nums2 合并到nums1中,使 nums1 成为一个有序数组。说明:初始化nums1 和 nums2 的元素数量分别为m 和 n 。 你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存 nums2 中的元素。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-sorted-array著作权归领扣网络所有。商业转载请联系官方授权,...原创 2020-06-25 20:55:01 · 198 阅读 · 0 评论 -
leetcode-数组-简单-加一
题目给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/plus-one著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。解答方法一:这个题目主要就是考虑原创 2020-06-23 13:20:42 · 157 阅读 · 0 评论 -
leetcode-数组-简单-最大子序和
题目给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。转载链接https://leetcode-cn.com/problems/maximum-subarray/输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。解答方法一:思路是这样的,最直接的思路,从第一个数开始,挨个往后加结果比最大值大,就把最大值更新,一直算到最后一个。然后再依次从后边...原创 2020-06-22 21:24:48 · 166 阅读 · 0 评论 -
leetcode-数组-简单-搜索插入位置
题目给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素转载连接https://leetcode-cn.com/problems/search-insert-position/输入: [1,3,5,6], 2输出: 1解答方法一:这个题目感觉不需要深入分析就是各种if判断,把情形都覆盖了就可以了class Solution {public: int searchInse.原创 2020-06-20 15:30:01 · 160 阅读 · 0 评论 -
leetcode-数组-简单-移除元素
题目给你一个数组 nums和一个值 val,你需要 原地 移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-element著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。给定 nums = [0,1,2,2...原创 2020-06-20 15:17:28 · 179 阅读 · 0 评论 -
leetcode-数组-简单-删除排序数组中的重复项
题目给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。给定 nums = [0,0,1,1,1,2,2,3原创 2020-06-20 15:03:20 · 110 阅读 · 0 评论 -
leetcode-数组-简单-两个数之和
题目给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/two-sum著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[...原创 2020-06-20 14:49:03 · 177 阅读 · 0 评论