128.Two Sum
题目:
Given an array of integers, return indices of the two numbers such that they add up to a specific target.
给定一个整数数组,返回两个数字的索引,使它们相加到特定目标。
You may assume that each input would have exactly one solution, and you may not use the same element twice.
您可以假设每个输入只有一个解决方案,并且您可能不会两次使用相同的元素。
Example:
Given nums = [2, 7, 11, 15], target = 9,Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1].
解答:
1 class Solution { 2 public int[] twoSum(int[] nums, int target) { 3 int[] res=new int[2]; 4 HashMap<Integer,Integer> map=new HashMap<>(); 5 for(int i=0;i<nums.length;i++){ 6 if(map.containsKey(target-nums[i])){ 7 res[0]=i; 8 res[1]=map.get(target-nums[i]); 9 break; 10 } 11 map.put(nums[i],i); 12 } 13 return res; 14 } 15 }
详解:
暴力破解时间复杂度为O(n2),舍弃不用
HashMap是常数级的查找效率,只遍历一个数字,另一个数字使用HashMap建立数字和其坐标位置之间的映射,所以时间复杂度为O(n)。
转载于:https://www.cnblogs.com/chanaichao/p/9564644.html
128.Two Sum相关推荐
- 为什么处理有序数组比无序数组快?
本文由 伯乐在线 - Jerry 翻译自 stackoverflow.欢迎加入技术翻译小组.转载请参见文章末尾处的要求. GManNickG 提问: 于某些怪异的原因,下面这段C++代码表现的异乎寻常 ...
- 为什么处理排序数组要比处理未排序数组快?
这是一段C ++代码,显示了一些非常特殊的行为. 出于某些奇怪的原因,奇迹般地对数据进行排序使代码快了将近六倍: #include <algorithm> #include <cti ...
- TensorRT(5)-INT8校准原理
本次讲一下 tensorRT 的 INT8 低精度推理模式.主要参考 GTC 2017,Szymon Migacz 的PPT . 1 Low Precision Inference 现有的深度学习框架 ...
- PPS2013校园招聘笔试题
转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/11473405 一.简答题 (1)一位老师有2个推理能力很强的学生,他告诉 ...
- C/C++ 指针和数组
指针和数组基本等价的原因在于指针算术和C/C++内部处理数组的方式. #include <iostream> using namespace std;int main() {double ...
- 经典问题之「分支预测」
问题 来源 :stackoverflow 为什么下面代码排序后累加比不排序快? public static void main(String[] args) {// Generate dataint ...
- 我们应该搞清楚分支预测
分支预测的英文名字是「Branch Prediction」 大家可以在Google上搜索这个关键字,可以看到关于分支预测的很多内容,不过要搞清楚分支预测如何工作的,才是问题的关键. 分支预测对程序的影 ...
- 少写点if-else吧,它的效率有多低你知道吗?
# 干了这碗鸡汤 我要再和生活死磕几年.要么我就毁灭,要么我就注定铸就辉煌.如果有一天,你发现我在平庸面前低了头,请向我开炮. --杰克·凯鲁亚克 if-else涉及到分支预测的概念,关于分支预测上篇 ...
- matlab中如何调用gpu进行并行计算_极致安卓-Termux/Aid learning开启WebGL手机GPU并行计算...
在我的之前的测评中,我利用Termux和Aid Learning测试过基于C/C++的openmp并行程序,基于Java的并行程序,还有基于MPI以及基于Java的分布式集群并行.但是很遗憾,一直无法 ...
最新文章
- 南京大学计算机考研机试,2018南大CS考研机试答案
- 由 粗 到 精 学 习 LVI-SAM: 
imageProjection模块
- iOS开发之使用CocoaPods更新第三方出现“target overrides the `OTHER_LDFLAGS`……”问题解决方案
- RabbitMQ接触(二)
- 数论--中国剩余定理模板
- spring-kafka、kafka-client 和springboot的版本对应关系
- 记录拷贝:centos安装jdk
- 使用色彩追踪和形态学运算得到图像中感兴趣区域
- 关于如何修改CSDN中的字体大小和颜色
- Linux操作系统中的路由表配置
- MySQL主从复制-基于GTID及多线程的复制
- nginx部署前端代码 负载均衡
- 网站设计| 网站设计模板素材
- input类型为number时鼠标滚动出现箭头
- P2345 [USACO04OPEN]MooFest G 【树状数组】
- PPT到WORD的组合图片复制
- python template injection_月末总结(python模板注入)
- golang runtime.Caller 学习笔记
- 虚拟机如何进入PE系统
- 电视剧《奋斗》精彩对白节选---(一)
热门文章
- easypanel mysql错误_Easypanel v1.6(虚拟主机控制面板)图文使用教程
- html一张图片用两种滤镜,HTML图片CSS滤镜—灰度效果
- java citymap_Java实现Map集合二级联动
- 二叉树第i层中的所有结点_讲透学烂二叉树(二):图中树的定义amp;各类型树的特征分析...
- python Requests登录GitHub
- LeetCode 二叉树、N叉树的最大深度与最小深度(递归解)
- float.equals_Java Float类equals()方法与示例
- kotlin 计算平方_Kotlin程序计算自然数之和
- 手动打开和关闭windows的相关服务
- spring属性注入的set方法注入