博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1. Two Sum【easy】
阅读量:4345 次
发布时间:2019-06-07

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

1. Two Sum【easy】

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: 3     vector
twoSum(vector
& nums, int target) { 4 unordered_map
u_map; 5 vector
result; 6 7 for (int i = 0; i < nums.size(); ++i) 8 { 9 if (u_map.find(target - nums[i]) != u_map.end())10 {11 result.push_back(u_map[target - nums[i]]);12 result.push_back(i);13 return result;14 }15 16 u_map.insert(make_pair(nums[i], i));17 }18 19 return result;20 }21 };

map搞一把

 

解法二:

1 class Solution { 2 public: 3     vector
twoSum(vector
& nums, int target) { 4 unordered_map
map; 5 int n = (int)nums.size(); 6 for (int i = 0; i < n; i++) { 7 auto p = map.find(target - nums[i]); 8 if (p != map.end()) { 9 return {p->second, i};10 }11 map[nums[i]] = i;12 }13 }14 };

比较简洁的写法

 

扩展见:

 

转载于:https://www.cnblogs.com/abc-begin/p/7536110.html

你可能感兴趣的文章
可能会用的到的JQ插件
查看>>
高斯消元模板
查看>>
【GPS】SAP测试GPS模块拿不到sensor数据
查看>>
python 数据类型之列表、元组、字典、集合
查看>>
【Java并发编程】8、各种锁的概念
查看>>
【Java基础】5、java中的匿名内部类
查看>>
Python中capitalize()与title()的区别
查看>>
GRASP (职责分配原则)
查看>>
C#语言特性-运算符重载
查看>>
echart.js的使用
查看>>
linux上面pycharm汉化
查看>>
选购汽车遇到的常用名词
查看>>
ADV7482&TP2825开发之总结
查看>>
信号和槽
查看>>
DP-hdu1260
查看>>
Linux系统如何让显示中文?英文centos切换中文
查看>>
ElasticSearch数据库同步插件logstash
查看>>
CSS3中的变形与动画(一)
查看>>
grunt构建工具
查看>>
记录一个基础的知识点“??”的使用情况
查看>>