您的位置:首页 > 科技 > IT业 > 网络平面设计是干什么_网站前端开发流程_厦门seo报价_小红书推广价目表

网络平面设计是干什么_网站前端开发流程_厦门seo报价_小红书推广价目表

2024/11/18 4:26:39 来源:https://blog.csdn.net/weixin_74681777/article/details/142750379  浏览:    关键词:网络平面设计是干什么_网站前端开发流程_厦门seo报价_小红书推广价目表
网络平面设计是干什么_网站前端开发流程_厦门seo报价_小红书推广价目表

知识点

双指针

题目

题解

新数组的长度与旧数组相同,因此先创建一个与旧数组长度相同的数组

设左指针为0,右指针为长度-1,此时右指针为有效值,循环时,数组需要遍历的为数组长度减一

循环中,左指针不断向右移,右指针不断向左移,当左指针小于或等于右指针时,表示数组还未遍历全,继续循环

遍历时,观察头尾平方后的数字,选择大的,放在数组最后

当左侧平方后更大,将左侧平方后数字添加到数组最后,左指针向右移

class Solution {
public:vector<int> sortedSquares(vector<int>& nums) {int length=nums.size();                 //数组长度,5vector<int> ans(length);int left=0;              //从左边开始int right=length-1;      //从右边开始,4,nums[right]=10length--;                //4while(left<=right){if((nums[left]*nums[left])>=(nums[right]*nums[right])){ans[length]=nums[left]*nums[left];left++;}else{ans[length]=nums[right]*nums[right];right--;}length--;}return ans;}
};

相似题目:88.合并两个有序数组

题目

题解

class Solution {
public:void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {int length=m+n-1;         //6int num1=m-1;int num2=n-1;while(num1>=0&&num2>=0)           {if(nums1[num1]>=nums2[num2]){       nums1[length]=nums1[num1]; num1--;         }else if(nums1[num1]<nums2[num2]){nums1[length]=nums2[num2];num2--;}length--;           }if(num1<0){while(num2>=0){nums1[num2]=nums2[num2];num2--;}}}
};

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com