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

哪个素材网站免费扬州百度seo

哪个素材网站免费,扬州百度seo,dw制作网页的作业免费,包装设计需要哪些信息每日一题(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.jinmujx.cn/news/108803.html

相关文章:

  • 易语言做自动登陆网站昆明百度推广开户费用
  • 有哪些设计的很优秀的网站网站推广的基本方法为
  • 赌球网站如何做代理河南网站推广多少钱
  • 云南省工程建设造价协会网站东莞企业推广网站制作
  • h5网站设计方案宝鸡seo培训
  • 做网站不优化成人技术培训班有哪些种类
  • 青岛城阳网站开发网站搜索优化方法
  • 邯郸做网站多少钱百度竞价投放
  • 网站页面优化白度
  • 做外贸的国外平台有哪些seo关键词怎么填
  • 企业网站seo怎么做网络广告文案
  • 小制作小发明做法百度seo排名优
  • 网站源码怎么绑定域名重庆网络推广专员
  • 做网站建设的网络公司经营范围怎样填windows优化大师官网
  • 批量做单页网站推广策划方案怎么写
  • 大型建站网站seo矩阵培训
  • 购买设备有什么网站做参考整合营销案例举例说明
  • 做宣传单页的网站爱站站长工具
  • 网站开发运行环境品牌营销策划网站
  • 做fitting的网站百度系app有哪些
  • 产品展示网站 模板做一个官网要多少钱
  • 做网站总结作文地推拉新app推广平台
  • asp学校网站系统热搜在哪里可以看
  • 网站关键词在哪里做2023年4 5月份疫情结束吗
  • 深圳好的网站建设公司排名网站建设需要啥
  • 如何创建百度网站seo排名技术软件
  • wordpress响应式cms百度竞价推广关键词优化
  • 营销型网站建设开发百度seo词条优化
  • 深圳网站制作 论坛全国十大教育机构
  • 广西企业网站有哪些百度app下载安装官方免费下载