当前位置: 首页 > news >正文

遂川县城乡建设局网站站酷网官网入口

遂川县城乡建设局网站,站酷网官网入口,免费咨询身高问题,网站建设语言环境一、977.有序数组的平方的链接与题目描述 977. 有序数组的平方的链接如下所示:https://leetcode.cn/problems/squares-of-a-sorted-array/description/https://leetcode.cn/problems/squares-of-a-sorted-array/description/ 给你一个按 非递减顺序 排序的整数数组…

一、977.有序数组的平方的链接与题目描述

977. 有序数组的平方的链接如下所示:https://leetcode.cn/problems/squares-of-a-sorted-array/description/icon-default.png?t=N7T8https://leetcode.cn/problems/squares-of-a-sorted-array/description/

     给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 

    示例 1:

  输入:nums = [-4,-1,0,3,10]
  输出:[0,1,9,16,100]
  解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]

    示例 2:

  输入:nums = [-7,-3,2,3,11]
  输出:[4,9,9,49,121]

    提示:

  • 1 <= nums.length <= 104
  • -104 <= nums[i] <= 104
  • nums 已按 非递减顺序 排序

    进阶:

  • 请你设计时间复杂度为 O(n) 的算法解决本问题

二、977.有序数组的平方的c++代码: 

   第一种方法:双指针的时间复杂度o(n),具体代码如下:

        vector<int> result(nums.size(), 0);int n=nums.size()-1;int left=0, right=n;while(left<=right){if(pow(nums[left], 2)>pow(nums[right], 2)){result[n--]=pow(nums[left], 2);left++;}else{result[n--]=pow(nums[right], 2);right--;}}return result;

    第二种方法:快速排序的时间复杂度o(nlogn) ,具体代码如下:

        for(int i=0;i<=nums.size()-1;i++){nums[i]*=nums[i]; //快速排序}sort(nums.begin(), nums.end());return nums;

三、解题思路

    本题主要讲解双指针的算法思路,下面的本题的4个步骤:

  1. 定义左指针的索引值为0,右指针为nums.size()-1,容器result装平方后的数组元素;
  2. 用while判断条件,如果左指针的值小于等于右指针的值,则循环继续,反之,则终止;
  3. 判断数组开始的值的平方是否大于末尾的值的平方,如果大于,输入result[n--]=pow(nums[left], 2); left++,反之,则result[n--]=pow(nums[right], 2); right--;
  4. 最后输出result,得出答案。

    感谢各位读者的阅读与支持,您的支持是我前进的动力!我希望我的博文能够带给您双指针的一些算法知识和启发。如果您有任何问题或意见,请随时联系我或在评论区评论。希望本题的算法知识对大家有帮助,谢谢各位读者的支持!!!

http://www.yayakq.cn/news/532700/

相关文章:

  • 个人资质网站做推广定制网站的好处
  • 化妆品网站做的好的wordpress访客统计插件
  • 大淘客怎么做网站1元云购网站建设
  • 网站开发文件夹重庆小潘seo
  • 专业网站优化seo深圳微信商城网站设计公司
  • vps网站目录显示灰色的短视频制作神器
  • 三门峡网站建设电话怎么攻击php做的网站吗
  • 营销型网站建设优化上海网站制作计划
  • 免费空间+网站空间+虚拟主机app定制开发 价格
  • 网站仿重庆网站建设 公司
  • 网站建设什么软件网站建设公司联系电话
  • 手机网站引导页js男做直播网站好
  • 北京网站如何做推广免费素材网有哪些
  • 司法行政网站建设目的单片机和做网站
  • 东莞网站建设推广费用oa软件公司排名
  • 在360做网站和百度做网站的区别招标投标公共服务平台
  • 关于网站建设的通知合肥专业建站
  • 领券的网站怎么建设亿唐网不做网站做品牌案例分析
  • 如何申请建设网站首页中国建设银行联行号查询网站
  • 广州建网站有哪些网站开发实训报告
  • 电脑做网站端口映射做网站公司青浦
  • 南城网站建设公司策划做企业网站的好处
  • 杭州微网站开发阳江今天刚刚发生的重大新闻
  • 网站租用服务器多少钱淘宝客网站名
  • 现在做网站还有出路吗wordpress用户信息界面
  • 广告点击网站源码网站制作实例教程
  • 上海建网站工作室做网站需要干什么
  • 建站之星视频动画素材网站
  • 小清新文章网站娄底网站seo
  • 购物网站建设哪家好广州 科技网站建设公司