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

seo整站优化外包公司关键词如何确定

seo整站优化外包公司,关键词如何确定,晋江网站建设哪家好,自己怎么做网站游戏代码随想录二刷 | 数组 | 有序数组的平方 题目描述题目分析 & 代码实现暴力排序双指针法 题目描述 977.有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 …

代码随想录二刷 | 数组 | 有序数组的平方

  • 题目描述
  • 题目分析 & 代码实现
    • 暴力排序
    • 双指针法

题目描述

977.有序数组的平方

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

题目分析 & 代码实现

暴力排序

每个数平方之后再排序

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

时间复杂度:O(n + nlogn)

双指针法

题目中说数组是非递减排序,需要注意的是负数平方之后可能成为最大值,因此数组平方后的最大值一定出现在最左侧或最右侧。

思路分两步,第一步用两个指针找到平方后的最大值,第二步是构建一个新数组,并设置一个指针指向末尾位置,每当找到最大值,就放入指针指向的位置,随后指向新数组末尾的指针向前移动。直至 i <= j。

详细如下:

设置一个指针 i 指向初始位置,指针 j 指向末尾位置。

定义一个与数组 A 一样大的新数组 result,让指针 k 指向 result 数组的末尾位置。

如果A[i] * A[i] < A[j] * A[j],那么result[k--] = A[j] * A[j]

如果A[i] * A[i] >= A[j] * A[j],那么result[k--] = A[i] * A[i]

class Solution {
public:vector<int> sortedSquares(vector<int> &A) {int k = A.size() - 1;vector<int> result(A.size(), 0); // 构建一个新数组,长度与A相同,用0填充// i 指向初始位置,j 指向末尾位置,直到 i <= j时结束for (int i = 0, j = A.size() - 1; i <= j) { if (A[i] * A[i] >= A[j] * A[j]) {result[k--] = A[i] * A[i];i++; // A[i]的平方已经是最大值,需要移动 i 指针} else {result[k--] = A[j] * A[j];j--; // A[j]的平方已经是最大值,需要移动 j 指针}}return result;}
};
http://www.ds6.com.cn/news/113858.html

相关文章:

  • 沈阳市网站建设公司郑州官网网站推广优化
  • 企业客户服务平台关键词排名优化技巧
  • 国内做网站群平台的公司重庆网站制作系统
  • 最新的网站开发技术南宁seo排名首页
  • 巩义网站建设巨量算数
  • 临沂网站建设微信sem推广和seo的区别
  • 网站头像设计免费制作浏览器下载安装
  • 制作网站工具怎么制作一个网站5个网页
  • 网站建设游戏网站建设优化收费
  • 浙江政府网站建设报价百度信息流广告投放
  • 心力建网站镇江seo
  • 中企动力网站建设精品案例品牌营销策略分析
  • 查询数据的网站怎么做如何提高网站排名的方法
  • 大连百度网站排名优化长沙网站搭建关键词排名
  • 青海公路建设信用信息服务网站搜索引擎营销的英文缩写
  • 网站建设提成方案拼多多关键词怎么优化
  • 网站申请注册个域名免费seo培训
  • 没有充值入口的传奇广州营销seo
  • 做代理哪个网站靠谱郑州seo软件
  • 网站的轮播图怎么做直通车关键词优化口诀
  • 凡科做的网站好吗seo教育
  • 东营有做网站的公司网络营销的推广方式
  • 做商业网站没有注册公司百度seo服务公司
  • 网上做网站怎么做下拉菜单小程序制作
  • 新疆建设工程信息网查询陕西seo排名
  • 贵州企业网站开发公司石家庄疫情
  • 危险网站怎么做二维码教育培训机构十大排名
  • 在阿里巴巴网站上怎么做贸易赣州seo公司
  • 揭阳网站建设维护营销策划公司经营范围
  • 津南网站建设seo优化系统