当前位置: 首页 > 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 已按 非递减顺序 排序

分析

这道题我们要抓住一个关键信息,那就是原数组是非递减的, 这样的话该数组平方后的最大值一定在这个数组的第一个或者最后一个元素。找到之后我们就可以将最大的元素放到新数组里面最大的位置上,依次类推。
这个时候我们就可以考虑使用双指针法了。
定义一个指针指向数组头元素,再定义一个指针指向数组最后一个元素。如果头元素的平方大于尾元素的平方,将最大值放到新数组最大值的位置上,头指针向前移动一格;反之,尾指针向后退一格。
代码(C语言):

int* sortedSquares(int* nums, int numsSize, int* returnSize){*returnSize=numsSize;  //新数组大小等于原数组大小int left=0,right=numsSize-1; //创建两个指针,right指向数组最后一位元素,left指向数组第一位元素int* ret=malloc(sizeof(int)*numsSize); //为新数组分配空间int i=numsSize-1;for(i=numsSize-1;i>=0;i--){if(nums[left]*nums[left]<nums[right]*nums[right]){//若右指针指向元素平方比左指针指向元素平方大,将右指针指向元素平方放入结果数组。右指针左移一位ret[i]=nums[right]*nums[right];right--;}else{//若左指针指向元素平方比右指针指向元素平方大,将左指针指向元素平方放入结果数组。左指针右移一位ret[i]=nums[left]*nums[left];left++;}}return ret;
}
http://www.yayakq.cn/news/694082/

相关文章:

  • 有什么网站可以免费建站上海网络优化seo
  • 做网站需要学什么专业asp网站文件
  • 快照网站WordPress添加海报分享
  • 一般门户网站安徽海绵城市建设协会网站
  • 网站策划ppt公司就我一个网站制作
  • 学校网站建设合同google提交网站
  • 网站服务器放置地怎么填网站视频插件
  • 石家庄微信网站建设公司做网站的好处
  • wordpress两个站点京东联盟网站建设电脑版
  • wap手机网站静态模板wordpress 评论显示图片
  • 网站做飘浮怎么做jsp网站建设作业
  • 建网站系统wordpress弹幕插件
  • 网站的开发是使用什么技术中石建基础设施建设有限公司网站
  • 在线文档网站源码五个网络营销方式
  • 一对一视频网站建设200网址大全
  • php mysql网站开发...东风多利卡道路清障车做网站
  • 山东德州网站建设哪家最好如何使用wordpress插件
  • 主营商城网站建设wordpress 模板目录
  • 大佛寺广州网站宣传片制作协议
  • 网络网站租新泰网站seo
  • 五合一网站建设ui设计分析案例
  • 网站备案登记查询系统百度sem是什么
  • 珠海高端企业网站湖南省建设工程造价总站网站
  • 北京个人制作网站有哪些建设一个公司网站大概多少钱
  • 免费注册网站域名可以用吗建设企业网站需要注意的问题
  • 末备案网站如何做cdn电脑系统7怎么打开wordpress
  • 网站建设验收使用情况wordpress不升级
  • 薇诺娜经常在那个网站做特价深圳英文网站建站
  • 昆山网站建设第一品牌丰都网站
  • 网上投资网站建设商城网站建设定制网站建设