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 }
pp
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步