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

【算法|数组】双指针

算法|数组——双指针

引入

给你一个按 非递减顺序 排序的整数数组 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]

解法

暴力解法

这个很简单啊,无脑平方后调用个排序就解决了。

class Solution {public int[] sortedSquares(int[] nums) {int[] result = new int[nums.length];for(int i = 0; i < nums.length; i++){result[i] = nums[i]*nums[i];}Arrays.sort(result);return result;}
}

不过有个很现实的问题就是说:暴力的东西一般都不太好。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6TqFQBHZ-1691592659941)(C:\Users\86159\AppData\Roaming\Typora\typora-user-images\image-20230809215415404.png)]

这个击败率是不是有点不堪入目呢?😒😒😂🤣🤣🤣
在这里插入图片描述

那么就看看下面的解法,会不会焕然一新。

双指针解法

思路如下:

在这里插入图片描述

代码如下:

class Solution {public int[] sortedSquares(int[] nums) {int[] result = new int[nums.length];int k = result.length-1;for(int left = 0,right = nums.length-1; left <= right;){if(nums[left]*nums[left] < nums[right]*nums[right]){result[k--] = nums[right]*nums[right];right--;}else{result[k--] = nums[left]*nums[left];left++;}}return result;}
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PEDs1BlG-1691592659942)(C:\Users\86159\AppData\Roaming\Typora\typora-user-images\image-20230809224810231.png)]

击败100% ?!

威力如何?

相关文章:

【算法|数组】双指针

算法|数组——双指针 引入 给你一个按 非递减顺序 排序的整数数组 nums&#xff0c;返回 每个数字的平方 组成的新数组&#xff0c;要求也按 非递减顺序 排序。 示例 1&#xff1a; 输入&#xff1a;nums [-4,-1,0,3,10] 输出&#xff1a;[0,1,9,16,100] 解释&#xff1a;…...

asp.net core6 webapi 使用反射批量注入接口层和实现接口层的接口的类到ioc中

IBLL接口层类库 namespace IBLL {public interface ICar{string CarName();} } namespace IBLL {public interface IRed{string RedName();} }BLL实现接口层类库 namespace BLL {public class Car : ICar{public string CarName(){return "BBA";}} } namespace BLL…...

【2023】字节跳动 10 日心动计划——第九关

目录 1. 螺旋矩阵2. 划分字母区间3. 子集 II 1. 螺旋矩阵 &#x1f517; 原题链接&#xff1a;54. 螺旋矩阵 类似于BFS那样使用方向数组即可。 class Solution { public:vector<int> spiralOrder(vector<vector<int>>& matrix) {int m matrix.size(), …...

小龟带你敲排序之冒泡排序

冒泡排序 一. 定义二.题目三. 思路分析&#xff08;图文结合&#xff09;四. 代码演示 一. 定义 冒泡排序&#xff08;Bubble Sort&#xff0c;台湾译为&#xff1a;泡沫排序或气泡排序&#xff09;是一种简单的排序算法。它重复地走访过要排序的数列&#xff0c;一次比较两个元…...

Nacos AP架构集群搭建(Windows)

手写SpringCloud项目地址&#xff0c;求个star github:https://github.com/huangjianguo2000/spring-cloud-lightweight gitee:https://gitee.com/huangjianguo2000/spring-cloud-lightweigh 目录&#xff1a; 一&#xff1a;初始化MySQL 二&#xff1a;复制粘贴三份Nacos文…...

nodejs+vue+elementui,图书评论管理系统_g9e3a

用户的功能主要是对首页、图书信息、公告信息、在线咨询、个人中心等进行操作。表名&#xff1a;token语言 node.js 框架&#xff1a;Express 前端:Vue.js 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat 开发软件&#xff1a;VScode 前端nodejsvueelementui, 管理员…...

基于TorchViz详解计算图(附代码)

文章目录 0. 前言1. 计算图是什么&#xff1f;2. TorchViz的安装3. 计算图详解 0. 前言 按照国际惯例&#xff0c;首先声明&#xff1a;本文只是我自己学习的理解&#xff0c;虽然参考了他人的宝贵见解&#xff0c;但是内容可能存在不准确的地方。如果发现文中错误&#xff0c;…...

解决GitHub的速度很慢的几种方式

1. GitHub 镜像访问 这里提供两个最常用的镜像地址&#xff1a; https://hub.njuu.cf/search https://www.gitclone.com/gogs/search/clonesearch 也就是说上面的镜像就是一个克隆版的 GitHub&#xff0c;你可以访问上面的镜像网站&#xff0c;网站的内容跟 GitHub 是完整同步…...

设计模式再探——策略模式

目录 一、背景介绍二、思路&方案三、过程1.策略模式简介2.策略模式的类图3.策略模式代码4.策略模式还可以优化的地方5.策略模式的例子改造(配置文件反射) 四、总结五、升华 一、背景介绍 最近在做产品的过程中&#xff0c;对于主题讨论回复内容&#xff0c;按照追评次数排…...

基于Googlenet深度学习网络的人员行为动作识别matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 1. 原理 1.1 深度学习与卷积神经网络&#xff08;CNN&#xff09; 1.2 GoogLeNet 2. 实现过程 2.1 数据预处理 2.2 构建网络模型 2.3 数据输入与训练 2.4 模型评估与调优 3. 应用领域…...

存储过程的学习

1&#xff0c;前言 这是实习期间学习的&#xff0c;我可能是在学校没好好听课&#xff0c;&#xff08;或者就是学校比较垃&#xff0c;没教这部分&#xff0c;在公司经理让我下去自己学习&#xff0c;太难了&#xff0c;因为是公司代码很多部分都是很多表的操作&#…...

zookeeperAPI操作与写数据原理

要执行API操作需要在idea中创建maven项目 &#xff08;改成自己的阿里仓库&#xff09;导入特定依赖 添加日志文件 上边操作做成后就可以进行一些API的实现了 目录 导入maven依赖&#xff1a; 创建日志文件&#xff1a; 创建API客户端&#xff1a; &#xff08;1&#xff09…...

防火墙对双通道协议的处理

防火墙是一种网络安全设备或软件&#xff0c;用于控制网络流量并保护计算机网络免受未经授权的访问、恶意攻击和网络威胁。它作为网络的第一道防线&#xff0c;用于监视、过滤和管理进出网络的数据包。 防火墙可以基于预设的安全策略对网络流量进行评估和筛选。它通过比较数据…...

vscode搭建c语言环境问题

c语言环境搭建参考文章:【C语言初级阶段学习1】使用vscode运行C语言&#xff0c;vscode配置环境超详细过程&#xff08;包括安装vscode和MinGW-W64安装及后续配置使用的详细过程&#xff0c;vscode用户代码片段的使用&#xff09;[考研专用]_QAQshift的博客-CSDN博客 问题如下:…...

全网最全的接口自动化测试教程

为什么要做接口自动化 相对于UI自动化而言&#xff0c;接口自动化具有更大的价值。 为了优化转化路径或者提升用户体验&#xff0c;APP/web界面的按钮控件和布局几乎每个版本都会发生一次变化&#xff0c;导致自动化的代码频繁变更&#xff0c;没有起到减少工作量的效果。 而…...

数据结构----结构--线性结构--链式存储--链表

数据结构----结构–线性结构–链式存储–链表 1.链表的特点 空间可以不连续&#xff0c;长度不固定&#xff0c;相对于数组灵活自由 搜索&#xff1a; 时间复杂度O(n) 增删: 头增头删时间复杂度O(1) 其他时间复杂度为O(n) 扩展&#xff1a;单向循环链表的特性 从任意节…...

【5G 核心网】5G 多PDU会话锚点技术介绍

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G算力网络技术标准研究。 博客…...

K8s环境下监控告警平台搭建及配置

Promethues是可以单机搭建的&#xff0c;参考prometheus入门[1] 本文是就PromethuesGrafana在K8s环境下的搭建及配置 Prometheus度量指标监控平台简介 启动minikube minikube start 安装helm 使用Helm Chart 安装 Prometheus Operator: helm install prometheus-operator stabl…...

微信小程序在使用vant组件库时构建npm报错

在跟着vant官方进行使用步骤一步步操作时&#xff0c;由于要构建NPM&#xff0c;但NPM包在App配置文件的外部 所以在做下图这一步时&#xff1a; 接着再进行npm构建时会报错 message:发生错误 Error: F:\前端学习\前端框架\小程序\project\demo\miniprogram解决方法 &#xf…...

Django实现音乐网站 ⑽

使用Python Django框架制作一个音乐网站&#xff0c; 本篇主要是后台对歌曲类型、歌单功能原有功能进行部分功能实现和显示优化。 目录 歌曲类型功能优化 新增编辑 优化输入项标题显示 父类型显示改为下拉菜单 列表显示 父类型显示名称 过滤器增加父类型 歌单表功能优化…...

服务器宕机发现太晚?手把手带你搭建跨地域访问的 Grafana 全球监控看板

文章目录前言1.在虚拟机上安装grafana2.安装cpolar实现随时随地开发3.配置公网地址4.保留固定公网地址总结前言 Grafana 作为一款开源的数据可视化与监控工具&#xff0c;核心功能是将各类数据源&#xff08;如 Prometheus、InfluxDB 等&#xff09;的数据转化为直观的图表、仪…...

TMSpeech:Windows本地语音转文字解决方案实战指南

TMSpeech&#xff1a;Windows本地语音转文字解决方案实战指南 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech 在数字化办公时代&#xff0c;我们常常面临这样的困境&#xff1a;会议讨论激烈时无法兼顾记录与参与&a…...

保姆级教程:手把手教你用Node.js + WebSocket搭建自己的WebRTC信令服务器

从零构建WebRTC信令服务器&#xff1a;Node.js实战指南 WebRTC技术已经彻底改变了实时通信的格局&#xff0c;让浏览器之间的点对点音视频传输成为可能。但很多开发者在掌握了getUserMedia和RTCPeerConnection的基本用法后&#xff0c;往往会卡在一个关键环节——如何让两个浏览…...

DB2权限管理与操作指南,网友推荐:实用性强,适合数据库管理员参考

DB2权限管理核心命令&#xff1a;GRANT语句用于授权&#xff0c;REVOKE用于收回权限。基本语法&#xff1a;GRANT authority ON object TO user。实例管理员常用db2inst1用户登录&#xff0c;执行db2 connect to sample&#xff0c;然后GRANT DATAACCESS ON DATABASE TO PUBLIC…...

如何快速解锁AI编程工具完整功能:Cursor Pro激活终极解决方案指南

如何快速解锁AI编程工具完整功能&#xff1a;Cursor Pro激活终极解决方案指南 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reach…...

LS-DYNA过量采购的许可证(核心数)内部调剂与跨项目共享策略

用闲置许可证做项目“缓冲池”&#xff0c;才是真正省下的钱我啊这边又赶上个烦心事&#xff0c;甲方项目组死活要使用LS-DYNA&#xff0c;说句实在的&#xff0c;IT部门说许可证全被占用了问题是&#xff0c;那帮人并尚未真的在用&#xff0c;只是担心自己用不到&#xff0c;搞…...

单细胞分析实战:Seurat亚群整合与元数据操作避坑指南(附代码)

单细胞分析实战&#xff1a;Seurat亚群整合与元数据操作避坑指南&#xff08;附代码&#xff09; 实验室的单细胞转录组分析中&#xff0c;亚群整合与元数据操作是数据处理的"暗礁区"。许多研究者在此耗费大量时间排查问题&#xff0c;却往往忽略了一些关键细节。本文…...

从训练到评估:手搓一个Hovernet推理结果评估脚本(附完整Python代码)

从训练到评估&#xff1a;手搓一个Hovernet推理结果评估脚本&#xff08;附完整Python代码&#xff09; 当你终于跑通了Hovernet模型的训练和推理流程&#xff0c;看着生成的.mat预测文件&#xff0c;可能会陷入新的困惑&#xff1a;这些预测结果到底有多准确&#xff1f;官方代…...

ESP32 BLE开发避坑指南:GAP/GATT回调函数里那些容易踩的‘坑’和实战调试技巧

ESP32 BLE开发实战&#xff1a;GAP/GATT回调函数深度解析与调试技巧 1. 理解ESP32 BLE回调机制的核心逻辑 在ESP32的BLE开发中&#xff0c;GAP和GATT回调函数是整个蓝牙通信的中枢神经系统。很多开发者虽然能够按照示例代码完成基本功能&#xff0c;但当遇到复杂场景时却常常陷…...

长尾分布不是数据问题,是模态对齐缺陷!:基于跨模态原型迁移(CPT)的零样本尾部泛化框架,已在LLaVA-NeXT部署验证

第一章&#xff1a;长尾分布不是数据问题&#xff0c;是模态对齐缺陷&#xff01; 2026奇点智能技术大会(https://ml-summit.org) 长尾分布常被误认为是训练数据采样不均或标注覆盖不足所致&#xff0c;但实证研究表明&#xff1a;即使在理想平衡数据集上微调多模态大模型&…...