算法基础
文章平均质量分 59
利用基础的C++进行算法训练,提高逻辑思维能力
晚点相遇zlx
愿你眼里有星辰,身边有微风,心中有暖阳!生活向阳,未来可期!
展开
-
合并两个有序数组(LeetCode#88)
文章目录一、题意二、解题思路及代码1.直接合并后排序2.暴力法3.双指针一、题意力扣题目链接给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n,分别表示 nums1 和 nums2 中的元素数目。请你合并 nums2 到 nums1 中,使合并后的数组同样按非递减顺序排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0原创 2021-10-20 16:45:17 · 70 阅读 · 0 评论 -
最大子序和(LeetCode#53)
文章目录一、题意二、解题思路及代码1.暴力解法2.贪心算法3.动态规划一、题意力扣题目链接给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。二、解题思路及代码1.暴力解法暴力解法的思路,第一层for 就是设置起始位置,第二层for循环遍历数组寻找最大值时间复杂度:O(n^2) 空间复杂度:O(1)原创 2021-09-26 13:55:33 · 90 阅读 · 0 评论 -
删除数组中的重复值(LeetCode#26)
文章目录一、题意二、解题过程1.思路2.代码一、题意给定一个有序数组 nums ,要求原地删除重复出现的元素,使每个元素只出现一次 ,返回删除后数组的新长度。要求:要不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成示例输入:nums = [0,0,1,1,1,2,2,3,3,4]输出:5, nums = [0,1,2,3,4]解释:函数应该返回新的长度 5 , 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4 。不需要考虑数组中超出原创 2021-09-25 22:40:05 · 83 阅读 · 0 评论 -
C++数组基础
文章目录C++学习之路数组一、定义不可变数组1.一维数组2.多维数组二、定义可变数组三、数组的基本操作总结C++学习之路数组一、定义不可变数组1.一维数组type arrayName [ arraySize ];int a[5];//逐个赋值int a[5] = {1,2,3,4,5};2.多维数组int a[3][4] = { {0, 1, 2, 3} , /* 初始化索引号为 0 的行 */ {4, 5, 6, 7} , /* 初始化索引号为 1 的行 */原创 2021-09-25 09:56:03 · 119 阅读 · 0 评论