博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
牛客网 | 高频面试题 | 两数之和
阅读量:4141 次
发布时间:2019-05-25

本文共 1000 字,大约阅读时间需要 3 分钟。

文章目录

题目

题目描述给出一个整数数组,请在数组中找出两个加起来等于目标值的数,你给出的函数twoSum 需要返回这两个数字的下标(index1,index2),需要满足 index1 小于index2.。注意:下标是从1开始的假设给出的数组中只存在唯一解例如:给出的数组为 {
20, 70, 110, 150},目标值为90输出 index1=1, index2=2示例1输入[3,2,4],6返回值[2,3]

解析

暴力——o(n^2)

直接遍历所有可能暴力求解。

class Solution {
public: /** * * @param numbers int整型vector * @param target int整型 * @return int整型vector */ vector
twoSum(vector
& numbers, int target) {
// write code here int i=-1,j=-1; for(i=0;i

哈希表——o(n)

降低时间复杂度,用空间换时间。

利用hash表存储number的位置,第二次遍历时,检查是否有numbers[i]对应的target-numbers[i]存在。

class Solution {
public: /** * * @param numbers int整型vector * @param target int整型 * @return int整型vector */ vector
twoSum(vector
& numbers, int target) {
map
imap; for(int i=0;i
0&&i!=imap[tmp]){
return {
i+1,imap[tmp]+1}; } } return {
-1,-1}; }};

转载地址:http://akevi.baihongyu.com/

你可能感兴趣的文章
禁止使用类的copy构造函数和赋值操作符
查看>>
C++学习路线
查看>>
私有构造函数
查看>>
组队总结
查看>>
TitledBorder 设置JPanel边框
查看>>
DBCP——开源组件 的使用
查看>>
抓包工具
查看>>
海量数据相似度计算之simhash和海明距离
查看>>
DeepLearning tutorial(5)CNN卷积神经网络应用于人脸识别(详细流程+代码实现)
查看>>
DeepLearning tutorial(6)易用的深度学习框架Keras简介
查看>>
DeepLearning tutorial(7)深度学习框架Keras的使用-进阶
查看>>
流形学习-高维数据的降维与可视化
查看>>
Python-OpenCV人脸检测(代码)
查看>>
python+opencv之视频人脸识别
查看>>
人脸识别(OpenCV+Python)
查看>>
6个强大的AngularJS扩展应用
查看>>
网站用户登录系统设计——jsGen实现版
查看>>
第三方SDK:讯飞语音听写
查看>>
第三方SDK:JPush SDK Eclipse
查看>>
第三方开源库:imageLoader的使用
查看>>