LeetCode 题解之 Two Sum

1、题目描述

2、问题分析

 使用hashTable 寻找,target  -  num[i] ,将时间复杂度降低到 O(n);

3、代码

复制代码
 1 vector<int> twoSum(vector<int>& nums, int target) {
 2         map<int ,int> m;
 3         for( int i = 0; i < nums.size() ; ++i ){
 4             m[nums[i]] = i;
 5         }
 6         vector<int> result;
 7         for( int i = 0; i < nums.size() ; ++i ){
 8             auto it = m.find( target - nums[i] ) ;
 9             if( it != m.end() && it->second != i ){
10                 result.push_back( i );
11                 result.push_back( it->second );
12                 break;
13             }
14         }
15         return result;
16         
17     }
复制代码

 

posted @   山里的小勇子  阅读(163)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示