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

Leetcode 977. 有序数组的平方

题目:
Leetcode 977. 有序数组的平方

描述:
给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序

在这里插入图片描述

思路:
双指针法
数组其实是有序的, 只不过负数平方之后可能成为最大数了。

那么数组平方的最大值就在数组的两端,不是最左边就是最右边,不可能是中间。

此时可以考虑双指针法了,i指向起始位置,j指向终止位置。

定义一个新数组result,和A数组一样的大小,让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]; 。

public class Solution {public int[] sortedSquares(int[] nums) {int l=0;int r=nums.length-1;int[] res=new int[nums.length];int j=nums.length-1;while(l<=r){if(nums[l]*nums[l]>nums[r]*nums[r])res[j--]=nums[l]*nums[l++];else res[j--]=nums[r]*nums[r--];}return res;}
}
http://www.lryc.cn/news/119040.html

相关文章:

  • vue3中使用toValue
  • 阿里云国际版CDN使用教程!
  • 【docker】Dockerfile构建镜像常用指令:
  • Java课题笔记~ 会话跟踪
  • HbuildX生成安卓签名证书
  • 在Ruoyi中采用Ajax动态生成Echarts图表实践
  • 资讯速递 | ArkUI-X 预览版已正式开源!
  • HTML <select> 标签
  • Flutter:文件上传与下载(下载后预览)
  • [前端系列第6弹]Ajax简明教程:轻松实现Web页面的异步交互
  • ssh-keygen 做好免密登录后不生效
  • 【Java可执行命令】(十八)可视化监控和管理工具 jconsole:获取 JVM的内存使用情况、线程活动、GC 行为等重要指标的可视化工具 ~
  • leetcode做题笔记66
  • 【docker】设置 docker 国内镜像报错,解决方案
  • mac安装nvm管理工具遇到的问题和解决方法
  • DocX 生成Word
  • 数据库新闻速递 -- POSTGRESQL 正在蚕食数据库市场 (翻译)
  • PAT 1085 Perfect Sequence
  • 软件测试面试夺命连环十七问,你答得上来么?这都不会建议多学!
  • 【学习FreeRTOS】第5章——FreeRTOS任务挂起与恢复
  • gitblit-使用
  • 整数中1出现的次数(从1到n整数中1出现的次数)
  • Vue2:路由
  • 【Docker】Docker的应用场景,Docker 的优点,Ubuntu Docker 安装,使用 Shell 脚本进行安装
  • CentOS7 启动谷歌浏览器 java+Selenium+chrome+chromedriver
  • 【无公网IP】在公网环境下Windows远程桌面Ubuntu 18.04
  • Java“牵手拼多多商品详情数据采集方法,拼多多API接口申请指南
  • Leetcode-每日一题【剑指 Offer 15. 二进制中1的个数】
  • docker 怎么搭建
  • Signal Desktop for Mac(专业加密通讯软件)中文版安装教程