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

哪个素材网站免费微信指数是搜索量吗

哪个素材网站免费,微信指数是搜索量吗,网站刷链接怎么做的,wordpress路由重写事例每日一题(LeetCode)----数组–有序数组的平方 1.题目([977. 有序数组的平方](https://leetcode.cn/problems/sqrtx/)) 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。…

每日一题(LeetCode)----数组–有序数组的平方

1.题目([977. 有序数组的平方](https://leetcode.cn/problems/sqrtx/))

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

2.解题思路

思路一: 双指针法

通过观察发现正数(包括零)平方后从左向右递增,负数平方后从右向左递增,所以我们先找到第一个不是负数的位置,然后找到最后一个负数的位置,将这组数进行平方操作,并放到一个新创建的vector中,最后从第一个不是负数的位置向左遍历,最后一个负数的位置向右遍历将这两个指针遍历到的数进行比较,然后依次往原有vector中放入排序好的元素注意如果某一指针移至边界了,那么就将另一指针还未遍历到的数依次放入到原有vector中排好序的元素的后面。

思路二: 双指针法

我们可以使用两个指针分别指向位置 0 和 n−1,每次比较两个指针对应的数,选择较大的那个逆序放入答案并移动指针。这种方法无需处理某一指针移动至边界的情况,读者可以仔细思考其精髓所在。

原作者:力扣官方题解
链接:https://leetcode.cn/problems/backspace-string-compare/

3.写出代码

思路一的代码:

class Solution {
public:vector<int> sortedSquares(vector<int>& nums) {int length = nums.size();int poIndex = -1;//找到第一个不是负数的下标for (int i = 0; i < length; i++) {if (nums[i] >= 0) {poIndex = i;break;}}//找到最后一个负数的下标int neIndex;if (poIndex == -1) {neIndex = nums.size()-1;}else {neIndex = poIndex - 1;}//将这组数进行平方操作,并放到一个新创建的vector中vector<int> Temp;for (int i = 0; i < length; i++) {Temp.push_back(nums[i] * nums[i]);}//从中间往两边进行比较,然后依次往原有vector中放入排序好的元素int i = 0;while ((poIndex <=( nums.size() - 1)) && neIndex>=0) {if (Temp[poIndex] > Temp[neIndex]) {nums[i++] = Temp[neIndex--];}else {nums[i++] = Temp[poIndex++];}}while (poIndex <= nums.size() - 1) {nums[i++] = Temp[poIndex++];}while (neIndex >= 0) {nums[i++] = Temp[neIndex--];}return nums;}
};

思路二的代码:

class Solution {
public:vector<int> sortedSquares(vector<int>& nums) {int n = nums.size();vector<int> ans(n);for (int i = 0, j = n - 1, pos = n - 1; i <= j;) {if (nums[i] * nums[i] > nums[j] * nums[j]) {ans[pos] = nums[i] * nums[i];++i;}else {ans[pos] = nums[j] * nums[j];--j;}--pos;}return ans;}
};作者:力扣官方题解
链接:https://leetcode.cn/problems/squares-of-a-sorted-array/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
原作者:力扣官方题解
链接:https://leetcode.cn/problems/backspace-string-compare/
http://www.zhongyajixie.com/news/14068.html

相关文章:

  • 做外贸纱线用什么网站互联网营销师课程
  • 网络引流推广怎么做网站站内关键词优化
  • 定兴做网站的深圳百度推广排名优化
  • 如何做网站标题不含关键词的排名今日头条十大热点
  • 日照网站优化品牌定位
  • 网站开发的系统需求长春seo优化企业网络跃升
  • 项目网站制作百度网址大全下载
  • 网站地图怎样做职业技能培训学校
  • 网站建设齐齐哈尔如何做网络营销推广
  • 深圳哪里做网站靠谱的免费建站
  • 文化产品电商网站建设规划重庆seo团队
  • 个人做商业网站需要什么小程序开发教程全集免费
  • 织梦做的网站怎么上传视频教程营销推广策略
  • 做婚介网站可行性报告深圳网络推广外包
  • 滁州市网站建设科技公司西安网络推广公司网络推广
  • 做网站的主要内容电销外包团队在哪找
  • 2345浏览器官网首页黑龙江seo关键词优化工具
  • 做企业网站国内发展北京seo分析
  • 网站数据模板关键词
  • 买域名价格江东seo做关键词优化
  • 如何用模板做网站昆明seo案例
  • ftp 网站文件软文营销的三个层面
  • 微信卖水果链接网站怎么做vue seo优化
  • 那个网站有帮人做图的seo外链在线工具
  • 淘宝网站怎么做的北京seo百度推广
  • 帮我们公司做网站手机网络优化
  • 出版社类网站模板免费的外贸b2b网站
  • 简述网站建设市场调研方案范文
  • 无锡做网站费用磁力猫torrent kitty
  • 平面设计有什么网站seo必备软件