博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode::Two Sum
阅读量:5075 次
发布时间:2019-06-12

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

1.

class Solution {public:    vector
twoSum(vector
&numbers, int target) { // IMPORTANT: Please reset any member data you declared, as // the same Solution instance will be reused for each test case. map
mp; int len = numbers.size(); for( int i=0; i < len; ++i ) { mp[ numbers[ i ] ] = i + 1; } vector
result; for( int i = 0; i < len; ++i ) { map
::iterator it = mp.find( target - numbers[i] ); if( it != mp.end() ) { result.push_back(it->second); result.push_back(i+1); sort(result.begin(),result.end()); break; } } return result; };};

  

使用multimap实现;比较笨的方法(map中的键值对是按键排序粗放的)。

class Solution {public:    vector
twoSum(vector
&numbers, int target) { // IMPORTANT: Please reset any member data you declared, as // the same Solution instance will be reused for each test case. multimap
tmp; for( int i = 1; i <= numbers.size(); ++i ) { tmp.insert(pair
(numbers[i-1],i)); } multimap
::iterator index1= tmp.begin(); multimap
::iterator index2 = --tmp.end(); while( index1 != index2 ) { int sum = index1->first + index2->first; if( sum > target ) --index2; else if( sum < target ) ++index1; else break; } vector
result; if(index1->second > index2->second) { int tmp = index1->second ; index1->second =index2->second ; index2->second=tmp; } result.push_back(index1->second); result.push_back(index2->second); return result; }};

 

 

转载于:https://www.cnblogs.com/litana/p/3395053.html

你可能感兴趣的文章
IOS-图片操作集合
查看>>
模板统计LA 4670 Dominating Patterns
查看>>
团队项目开发客户端——登录子系统的设计
查看>>
IO—》Properties类&序列化流与反序列化流
查看>>
session如何保存在专门的StateServer服务器中
查看>>
react展示数据
查看>>
测试计划
查看>>
选择器
查看>>
Mysql与Oracle 的对比
查看>>
jquery实现限制textarea输入字数
查看>>
thinkphp5 csv格式导入导出(多数据处理)
查看>>
PHP上传RAR压缩包并解压目录
查看>>
Codeforces 719B Anatoly and Cockroaches
查看>>
jenkins常用插件汇总
查看>>
c# 泛型+反射
查看>>
第九章 前后查找
查看>>
Python学习资料
查看>>
jQuery 自定义函数
查看>>
jquery datagrid 后台获取datatable处理成正确的json字符串
查看>>
ActiveMQ与spring整合
查看>>