leetcode02-Two Sum

这道题目最直接的方法就是for循环俩次遍历数组,第二次遍历用target减去对应的值然后看数组中是否有该值,这种的解法时间复杂度是O(n^2)。我们想一下之所以需要二次遍历的原因是因为没有办法在O(1)的时间内判断出差值是否存在于该数组中,如果有的话其实遍历一次数组就可以了,O(1)时间复杂度判断一个数字是否存在?没错,有现成的数据结构能够满足我们的诉求,用map

import java.util.HashMap;
public class twoSum{public static void main(String[] args) {int[] arr = {2,7,11,15};int[] brr = getIdx(arr,9);if(brr.length > 0) {System.out.println(brr[0]);System.out.println(brr[1]);}}public static int[] getIdx(int[] arr,int target) {HashMap<Integer,Integer> mp = new HashMap();for(int i = 0;i<arr.length;i++) {mp.put(arr[i],i);}int[] res = new int[2];for(int i = 0;i<arr.length;i++) {if(mp.containsKey(target-arr[i]) && i != mp.get(target-arr[i])) {res[0] = i;res[1] = mp.get(target-arr[i]);return res;}}return res;}
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JWT面试题

一&#xff0c;什么是JWT JSON Web Token&#xff08;缩写 JWT&#xff09;是目前最流行的跨域认证解决方案 JWT总的来说是用来解决session的共享的问题的 1&#xff0c;JWT的原理 JWT 的原理是&#xff0c;服务器认证以后&#xff0c;生成一个 JSON 对象&#xff0c;发回给…

太阳之华 连通块计数

C-太阳之华_牛客小白月赛89 (nowcoder.com) 思路&#xff1a;可以发现&#xff0c;最多经过一次操作就能知道结果&#xff1a; 全是蓝色&#xff1a;蓝方胜全是红色&#xff1a;红方胜红方经过一次操作&#xff1a; 存在一个连通块扩散等于蓝色个数&#xff1a;红方胜否则&am…

2024年最新阿里云服务器价格表(配置价格+带宽价格+磁盘)

2024年腾讯云服务器优惠价格表&#xff0c;一张表整理阿里云服务器最新报价&#xff0c;阿里云服务器网整理云服务器ECS和轻量应用服务器详细CPU内存、公网带宽和系统盘详细配置报价单&#xff0c;大家也可以直接移步到阿里云CLUB中心查看 aliyun.club 当前最新的云服务器优惠券…

爬楼梯C语言

方法一&#xff1a;动态规划 int climbStairs(int n) {int f[100] {0};f[0] 0;f[1] 1;f[2] 2;for(int i 3;i<n;i)f[i] f[i-1] f[i-2];//可能是从i-1阶爬上第i阶&#xff0c;也有可能是从i-2阶 return f[n]; } 方法二&#xff1a;滚动数组 int climbStairs(int n){int…

覃超老师 算法面试通关40讲

教程介绍 无论是阿里巴巴、腾讯、百度这些国内一线互联网企业&#xff0c;还是 Google、Facebook、Airbnb 等硅谷知名互联网公司&#xff0c;在招聘工程师的过程中&#xff0c;对算法和数据结构能力的考察都是重中之重。本课程以帮助求职者在短时间内掌握面试中最常见的算法与…

笔记:Mysql数据库删除报错 1008

说明 mysql> show databases; -------------------- | Database | -------------------- | information_schema | | mysql | | performance_schema | | sys | | test | -------------------- 5 rows in set (0.02 sec…

[AIGC] Redis基础命令集详细介绍

Redis是一个强大的开源的键-值存储系统&#xff0c;被广泛应用于各种应用程序中。在使用Redis时&#xff0c;我们需要掌握一些基本的Redis命令来操作存储在其上的数据。这篇文章将向你介绍一些基本的Redis命令&#xff0c;让你能够更好地使用和理解Redis。 文章目录 启动Redis…

【云开发笔记No.13】Jenkins和持续集成

一、Jenkins的概念 Jenkins是一个开源的持续集成工具&#xff0c;用于自动化软件开发过程中的各种任务&#xff0c;包括编译、测试、打包、部署等。它提供了一个可扩展的平台&#xff0c;通过插件机制支持多种开发语言和构建工具。Jenkins的主要目标是帮助软件开发团队提高开发…

代码随想录算法训练营第十八天|找树左下角的节点

513. 找树左下角的值 已解答 中等 相关标签 相关企业 给定一个二叉树的 根节点 root&#xff0c;请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root [2,1,3] 输出: 1示例 2: 输入: [1,2,3,4,null,5,6,null,null,7] 输出: 7提示: 二…

python写爬虫爬取京东商品信息

工具库 爬虫有两种方案&#xff1a; 第一种方式是使用request模拟请求&#xff0c;并使用bs4解析respond得到数据。第二种是使用selenium和无头浏览器&#xff0c;selenium自动化操作无头浏览器&#xff0c;由无头浏览器实现请求&#xff0c;对得到的数据进行解析。 第一种方…

因特网服务

▶1.网页服务 WWW(万维网)的信息资源分布在全球近10亿个网站上&#xff0c;网站的服务内容由ICP(因特网信息提供商)进行发布和管理&#xff0c;用户通过浏览器软件(如IE),就可浏览到网站上的信息&#xff0c;网站主要采用网页的形式进行信息描述和组织&#xff0c;网站是多个网…

C#绘制面形图

创建windows窗体应用 ,从工具箱添加Button和Panel using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Fo…

draw.io 去除箭头

问题 draw.io 去除箭头 详细问题 笔者使用draw.io绘制流程图&#xff0c;需要没有箭头的连接器&#xff0c;但是General所提供的连接器添加了尾部箭头&#xff0c;如何取消尾部箭头? 解决方案 1、点击选中选择连接器&#xff08;箭头1&#xff09;。在格式面板的“Style…

【Transformer】transformer注解

every blog every motto: You can do more than you think. 0. 前言 transformer注解 在过去的一年里&#xff0c;《Attention is all you need》中的transformer一直萦绕在很多人的脑海里。除了在翻译质量上产生重大改进之外&#xff0c;它还为许多其他NLP任务提供了一种新的…

AOP原理和切面应用

1 概述 我们所说的Aop(即面向切面编程),即面向接口,也面向方法,在基于IOC的基础上实现。 Aop最大的特点是对指定的方法进行拦截并增强,这种增强的方式不需要业务代码进行调整,无需侵入到业务代码中,使业务与非业务处理逻辑分离。 以Spring举例,通过事务的注解配置,S…

C++ 基本运算

何谓运算符和操作数 基本运算 1、双目运算 2、单目运算 3、赋值表达式 表达形式&#xff1a; <变量><表达式>; 表达式是指各种运算符把常量、变量&#xff0c;函数等运算对象连接起来的具有实际意义并符合C语法规则的式子。赋值是指表达式的值赋给一个变量。 …

【小程序开发】位置 API 集合(二)

ty.map.openGeofenceMap 打开地理围栏地图页面,获取地理围栏信息(新建或者编辑地理围栏) 权限: [scope.location] 需引入MapKit&#xff0c;且在>3.0.1版本才可使用 参数 Object object 属性类型默认值必填说明geoTitlestring否地理围栏名称longitudenumber否经度latitu…

HTTP协议中的身份验证和授权机制,以及现代认证技术(OAuth 2.0、JWT、OpenID Connect)

概念 身份验证&#xff08;Authentication&#xff09; 身份验证是确定用户或实体是否为其声称的身份的过程。在任何需要限制访问权限的系统中&#xff0c;身份验证都是第一道防线。通过身份验证&#xff0c;系统能够识别用户的身份&#xff0c;并据此提供相应的服务和数据访…

手撕算法-删除链表的倒数第 N 个结点

描述 思路 快慢指针&#xff0c;快指针先走N步&#xff0c;走不够N步返回空。慢指针和快指针一起走&#xff0c;当快指针到达终点&#xff0c;即快指针为null时&#xff0c;慢指针到达倒数第N个节点。因为要删除倒数第N个&#xff0c;所以要记录之前的节点pre&#xff0c;假设…

SP 2023

44th IEEE Symposium on Security and Privacy, SP 2023, San Francisco, CA, USA, May 21-25, 2023. 第44届IEEE安全与隐私研讨会&#xff0c;SP 2023&#xff0c;美国加利福尼亚州旧金山&#xff0c;2023年5月21-25日。 1 Space Odyssey: An Experimental Software Security…