【LeetCode】167. 两数之和 II - 输入有序数组 - 双指针

目录标题

  • 2023-8-23 09:25:08

2023-8-23 09:25:08

自己写的不是常量级的额外空间,但是写出来了,记录一下。

下次写的时候,请用双指针。

(其实我想了想一想,双指针就没感觉出来:因为我只想到双指针两个都向后,没想到一个也能够在前一个向后。Orz。多做点题目就好了。)
在这里插入图片描述

class Solution {public int[] twoSum(int[] numbers, int target) {int[] result = new int[2];// 从第一个i下标开始找for (int i = 0; i < numbers.length; i++) {// 找到i后面的下标for (int k = i + 1; k < numbers.length; k++) {// 由于 该数组已按 非递减顺序排列// 剪枝:相加之和大于目标数的话,后面的就可以不用判断了if (numbers[i] + numbers[k] > target) {break;}// 相加之和等于目标数 且 仅存在一个有效答案if (numbers[i] + numbers[k] == target) {// result[0] = i + 1;result[1] = k + 1;return result;}}}return result;}
}

O(n) 解法

public int[] twoSum(int[] numbers, int target) {int i = 0;int j = numbers.length - 1;while (i < j) {int sum = numbers[i] + numbers[j];if (sum < target) {i++;} else if (sum > target) {j--;} else {return new int[]{i+1, j+1};}}return new int[]{-1, -1};
}作者:nettee
链接:https://leetcode.cn/problems/two-sum-ii-input-array-is-sorted/solutions/87919/yi-zhang-tu-gao-su-ni-on-de-shuang-zhi-zhen-jie-fa/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1550106.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【官方正版】OneCommander 多标签文件资源管理器工具软件

OneCommander - 是针对 Windows 10 和 Windows 11 设计的时尚现代 UI 文件资源管理器工具。其行使各种功能&#xff0c;包括选项卡浏览、双窗格浏览器、列导航、内置预览等&#xff0c;同时还拥有主题系统和颜色标签等多项特性。 功能特点 强大的功能组合 One Commander 提供…

RK3399平台开发系列讲解(内核调试篇)网络调试工具

🚀返回专栏总目录 文章目录 一、dstat 工具介绍二、例如dstat 进行网络问题调试三、ss 命令查看 TCP 详细信息四、netstat 查看TCP详细信息沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 本篇将介绍网络的相关工具。 一、dstat 工具介绍 当设备产生问题,而我们又…

APU工业控制领域应用

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 APU在工业控制领域的应用 前言一、应用领域分析二、工业控制场景概述三、典型APU厂商【1】AMD【2】国内关注APU领域厂商 四、面向工业控制场景的APU1) 生产智能可视化2&#…

1688获取店铺列表、店铺所有商品、关键词搜索API

为了进行此平台API的调用&#xff0c;首先我们需要做下面几件事情。 1、 获取一个KEY。 2、 参考API文档里的接入方式和示例。 3、查看 测试工具是否有需要的接口&#xff0c;响应实例的返回字段是否符合参数要求。 4、利用平台的文档中心和API测试工具&#xff0c;对接口进…

bootstrap第三章:基本的BootstrapCSS

bootstrap第三章&#xff1a;基本的BootstrapCSS 文章目录 bootstrap第三章&#xff1a;基本的BootstrapCSS1.bootstrap css引导2.排版2.1bootstrap默认设置2.2标题,内联和显示标题2.3突出显示标题2.4段落处理2.5文本强调(字体倾斜,变小等)2.5.1强调类2.5.2缩写文本查看2.5.3地…

Computer:少儿编程—每个人都应该学习编程,它能教你如何思考—编程入门的简介(编程语言的特点种类开发工具对比人类语言)、编程应用、编程意义之详细攻略

Computer&#xff1a;少儿编程—每个人都应该学习编程&#xff0c;它能教你如何思考—编程入门的简介(编程语言的特点&种类&开发工具&对比人类语言)、编程应用、编程意义之详细攻略 导读&#xff1a;乔布斯说&#xff0c;每个人都应该学习编程&#xff0c;因为他教…

从云服务器上拷贝文件,从云服务器上拷贝文件

从云服务器上拷贝文件 内容精选 换一换 无法直接从云备份控制台查看备份中的数据&#xff0c;您可以通过以下几种方式进行查看&#xff1a;云服务器备份使用云服务器备份创建镜像后&#xff0c;再使用镜像创建云服务器。登录云服务器&#xff0c;查看服务器中的数据。云硬盘备份…

原Borland Delphi研发部程序员Joe C. Hecht讲述自己离开Borland公司作为个体户程序员独立单干接活谋生的故事

你好。这篇文章是我们与专业软件开发人员交谈的系列文章的一部分&#xff0c;询问他们以编写代码为生是什么感觉&#xff0c;并可能在此过程中获得对软件开发行业的一些见解。 今天我们要和 Joe C. Hecht 交谈&#xff0c;他也被称为“TJoe”。乔现在正在佛罗里达潮湿的高地编写…

当更高性能来到平板 — ThinkPad X1 Tablet Evo 长测

ThinkPad X1 Tablet Evo 是 X1 系列里今年变化最大的一款,3:2比例的屏幕,轻薄且坚固的机身,内置风扇,搭载了与笔记本同级别的八代酷睿处理器,还有熟悉的键盘手感与小红点,这些都成为了它吸引人的特点。 我们以往对于 WinTab 的期望都是在便携性和触控笔,而由于散热的限制…

2021年用于开发构建本机原生Windows应用程序软件的6大C ++ IDE开发工具简介

集成软件开发环境&#xff08;IDE&#xff09;是一种软件应用程序&#xff0c;为应用程序开发提供了完整的功能集。代码通常以文本格式编写&#xff0c;您可以使用记事本&#xff0c;Word&#xff0c;Wordpad等文本编辑器轻松地编辑或修改代码。但是&#xff0c;对于开发人员&a…

安卓手机变成横屏_华为平板M6体验:安卓平板唯一旗舰,强大性能通吃娱乐办公...

如果说此前为什么安卓平板普遍容易被用户吐槽&#xff0c;配置和性能应该是其中最关键的一个原因。虽然手机已经有了麒麟980或者骁龙855这样的旗舰级配置&#xff0c;然而同样采用安卓系统的平板电脑&#xff0c;配置却远不如手机&#xff0c;反观苹果在这方面一直保持优势。但…

电脑,从多人一台到一人多台

最早接触电脑是中学时&#xff0c;当时应该是APPLE-Ⅱ&#xff0c;固化的Basic&#xff0c;仅仅算是打了个照面&#xff0c;印象最深的就是空调机房&#xff0c;还有地毯&#xff0c;拖鞋&#xff08;当时还没有鞋套&#xff09;&#xff0c;功能倒是没有太多的概念。 到了大学…

【已解决】DQN报错:NameError: name ‘glPushMatrix‘ is not defined

1、问题 pycharm在运行DQN平衡杆代码时报错&#xff1a;NameError: name ‘glPushMatrix’ is not defined。 画面只出现一个白色背景。 2、分析 pyglet版本过高&#xff0c;降低版本即可。 pip install pyglet1.5.273、测试 没有报错&#xff0c;运行成功。 参考链接…

glPushMatrix 和glPopMatrix图解 ----求别笑

猜想&#xff1a; openGL在绘制场景时的一般用法是&#xff1a; 首先在函数的开始处用glLoadIdentity()设置当前的矩阵为单位矩阵。 然后在函数中用glPushMatrix()和glPopMatrix()函数进行操作&#xff1a; 根据实践判断&#xff1a; 即这两者是分开的&#xff0c;并不是当前…

glPushMatrix();glPopMatrix();以及glMatrixMode的用法

所有的这几个函数的本质都是对坐标系的操作。 前提知识&#xff1a; 1。每一种矩阵对应着一种坐标系。见图一 2。每一次对矩阵的操作都是对当前矩阵进行的。确切的说&#xff0c;作为一种状态机&#xff0c;每一时刻在矩阵方面只能有一种状态。 3。每一次压栈和出栈都对应着…

opengl中glPushMatrix()he glPopMatrix()用法的真正意义

opengl中图形绘制后&#xff0c;往往需要一系列的变换来达到用户的目的&#xff0c;而这种变换实现的原理是又通过矩阵进行操作的。opengl中的变换一般包括视图变换、模型变换、投影变换等&#xff0c;在每次变换后&#xff0c;opengl将会呈现一种新的状态&#xff08;这也就是…

opengl入门记录--glPushMatrix和glPopMatrix原理

glPushMatrix、glPopMatrix操作事实上就相当于栈里的入栈和出栈。 很多人不明确的可能是入的是什么&#xff0c;出的又是什么。 比如你当前的坐标系原点在你电脑屏幕的左上方。如今你调用glPushMatrix&#xff0c;然后再调用一堆平移、旋转代码等等&#xff0c;然后再绘图。那…

opengl glPushMatrix()

OpenGL有三个矩阵堆栈&#xff0c;分别是GL_MODELVIEW&#xff08;模型视图矩阵堆栈&#xff09;、GL_PROJECTION&#xff08;投影矩阵堆栈&#xff09;、GL_TEXTURE&#xff08;纹理矩阵堆栈&#xff09;&#xff0c;用法和普通堆栈一样&#xff1b; 这里我们只讲模型视图矩阵…

解决:nameerror: name ‘glpushmatrix‘ is not defined

在尝试gym的render()时&#xff0c;出现错误&#xff1a; nameerror: name glpushmatrix is not defined最后解决的办法&#xff1a;更换pyglet包的版本 出现错误时的pyglet版本&#xff1a; 然后将版本更换为&#xff1a; 就可以使用env.render()啦&#xff01;

glPushMatrix()和glPopmatirx()

OpenGL有三个矩阵堆栈&#xff0c;分别是GL_MODELVIEW&#xff08;模型视图矩阵堆栈&#xff09;、GL_PROJECTION&#xff08;投影矩阵堆栈&#xff09;、GL_TEXTURE&#xff08;纹理矩阵堆栈&#xff09;&#xff0c;用法和普通堆栈一样&#xff1b; 这里我们只讲模型视图矩阵…