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

查询网站访问量网站设计欣赏导航

查询网站访问量,网站设计欣赏导航,广州一起做网店属于什么网站,网站建设先买主机还是给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平方后,数组变为 …

给你一个按 非递减顺序 排序的整数数组 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) 的算法解决本问题

1. 暴力法

class Solution {
public:vector<int> sortedSquares(vector<int>& nums) {for (int i = 0; i < nums.size(); i++) {nums[i] = nums[i] * nums[i];}sort(nums.begin(),nums.end());return nums;}
};

2. 双指针

可以发现数组本身就是有序的,但是平方之后可能会无序,因为负数平方之后变成了正数,那么最大值还是只可能在最前面和最后面取到,我们可以定义两个指针,一个从前一个从后开始,比较大小,平方之后更大的加入到新数组的,注意,新数组是空数组,我们从后往前加,就不用最后再排序了。

class Solution {
public:vector<int> sortedSquares(vector<int>& nums) {vector<int> res(nums.size(),0);int k = nums.size()-1;for(int first = 0,last = nums.size()-1;first<=last;){if(nums[first]*nums[first] < nums[last]*nums[last]){res[k--] = nums[last]*nums[last];last--;}else{res[k--] = nums[first]*nums[first];first++;}}return res;}
};

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

相关文章:

  • 长沙网站建设大全jsp网站 值班
  • 常州网站建设公司服务8x2558xcom直接观看
  • 哪些网站的网站怎么做的网站建设构建方案
  • 文化集团网站模板移动开发软件
  • 已有网站做app需要多少钱jsp网站开发制作
  • 南通网站备案网站seo快速排名
  • 网站开发成app信用网站建设意义
  • 产品 网站建设免费网站空间 推荐
  • 网站木马 代码企业网站的视频页如何做
  • 怎样才能被百度秒收录博爱seo排名优化培训
  • 建站资讯互联网建筑公司
  • 公司网站手机版模板wordpress custom fields
  • 网站里做个子网页怎么做优化设计六年级下册数学答案
  • 网站怎么才能吸引人景观设计公司名称
  • 申请收费网站空间网站建设公司如何生存
  • 建网站知识低调与华丽wordpress版
  • 网站建设廾金手指专业壹柒网络营销的多种形式和特点
  • asp网站转wap网站网络运营怎么学
  • 知名的食品行业网站开发wordpress恢复默认链接
  • 池州家居网站建设怎么样免费网络在线打电话
  • 视频变成网站怎么做邯郸市
  • 品牌建设成果镇江网站关键字优化公司
  • 做个人网站需要哪些跨境数据专线内部管理
  • 金融中介做网站需要企业做网站价格
  • 企业公司网站管理系统建设智能家居网站SWOT分析
  • 企业网站建设主要类型及选择腾讯网站建设推广
  • 京东建站模板wordpress nikkon
  • 网站模块图深圳做响应式网站制作
  • 盐亭做网站如何修改网站ico
  • 那些小网站是哪里人做的网站开发公用头部