leetcode算法
文章平均质量分 76
c++算法
little-cyy
这个作者很懒,什么都没留下…
展开
-
leetcode-228、 汇总区间(c++)
leetcode-228、 汇总区间(c++)难度:简单给定一个无重复元素的有序整数数组 nums 。返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。列表中的每个区间范围 [a,b] 应该按如下格式输出:“a->b” ,如果 a != b“a” ,如果 a == b示例 1:输入:nums = [0,1,2,4,5,7]输出:[“0->2”,“4->原创 2020-11-29 12:26:15 · 168 阅读 · 0 评论 -
# leetcode-1438、 绝对差不超过限制的最长连续子数组(c++)
leetcode-1438. 绝对差不超过限制的最长连续子数组(c++)思路:1、我们使用两个指针表示子数组的左右边界。其中左指针代表着子数组的起始位置,而右指针即为末尾位置2、判断右边界新加入元素后子数组是否符合条件(任意两个元素相差绝对值不超过limit),若不符合,滑动左指针4、判断条件可以利用map有序的特点来实现class Solution {public: int longestSubarray(vector<int>& nums, int limi原创 2020-11-28 16:48:33 · 441 阅读 · 0 评论 -
leetcode1588、所有奇数长度子数组的和(c++)
leetcode158、所有奇数长度子数组的和难度:简单给你一个正整数数组 arr ,请你计算所有可能的奇数长度子数组的和。子数组 定义为原数组中的一个连续子序列。请你返回 arr 中 所有奇数长度子数组的和 。示例1输入:arr = [1,4,2,5,3]输出:58解释:所有奇数长度子数组和它们的和为:[1] = 1[4] = 4[2] = 2[5] = 5[3] = 3[1,4,2] = 7[4,2,5] = 11[2,5,3] = 10[1,4,2,5,3] = 1原创 2020-11-25 15:54:47 · 949 阅读 · 1 评论 -
leetcode1535-找出数组游戏的赢家
leetcode1535-找出数组游戏的赢家难度:中等给你一个由 不同 整数组成的整数数组 arr 和一个整数 k 。每回合游戏都在数组的前两个元素(即 arr[0] 和 arr[1] )之间进行。比较 arr[0] 与 arr[1] 的大小,较大的整数将会取得这一回合的胜利并保留在位置 0 ,较小的整数移至数组的末尾。当一个整数赢得 k 个连续回合时,游戏结束,该整数就是比赛的 赢家 。返回赢得比赛的整数。题目数据 保证 游戏存在赢家。示例1输入:arr = [2,1,3,5,4,6,7]原创 2020-11-25 11:55:13 · 227 阅读 · 0 评论 -
leetcode-88、合并两个有序数组(c++)
leetcode-88、合并两个有序数组难度:简单给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例输入:nums1 = [1,2,3,0,0,0], m = 3nums2 = [2,5,6], n = 3输出:[1,2,原创 2020-11-20 09:11:53 · 184 阅读 · 2 评论 -
leetcode-867、转置矩阵(c++)
leetcode-867、转置矩阵(c++)难度:简单给定一个矩阵 A, 返回 A 的转置矩阵。矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。示例1输入:[[1,2,3],[4,5,6],[7,8,9]]输出:[[1,4,7],[2,5,8],[3,6,9]]示例2输入:[[1,2,3],[4,5,6]]输出:[[1,4],[2,5],[3,6]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/transpo原创 2020-11-19 16:27:08 · 138 阅读 · 0 评论 -
leetcode-4、寻找两个正序数组的中位数(c++)
leetcode-4、寻找两个正序数组的中位数(c++)给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。进阶:你能设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题吗?示例1输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例2输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组原创 2020-11-18 13:17:07 · 433 阅读 · 0 评论 -
leetcode-3、无重复字符的最长子串(c++)
leetcode-3、无重复字符的最长子串(c++)给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例1输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例2输入: “bbbbb”输出: 1解释: 因为无重复字符的最原创 2020-11-18 11:27:14 · 275 阅读 · 2 评论 -
leetcode-2、两数相加(c++)
leetcode-2、两数相加(c++)给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807来源:力扣(LeetCod原创 2020-11-17 18:23:55 · 412 阅读 · 0 评论 -
leetcode-1、两数之和(c++)
leetcode-1、两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。示例给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]方法一:暴力法class Solution {public: vector<int> twoSum(vector<int>& nums,原创 2020-11-13 19:59:48 · 281 阅读 · 0 评论