zoukankan      html  css  js  c++  java
  • LeetCode题解之 two sum 问题

    1、题目描述

    2、题目分析

    考虑使用hashMap的方式将数组中的每个元素和下表对应存储起来,然后遍历数组,计算target 和 数组中每个元素的差值,在hashMap中寻找,一直到找到最后一对。

    3、代码

     1 vector<int> twoSum(vector<int>& nums, int target) {
     2         vector<int> ans;
     3         unordered_multimap<int,int> m;
     4         for( size_t i = 0; i< nums.size() ; i++)
     5             m.insert(make_pair(nums[i],i));
     6         
     7         for(size_t i = 0; i < nums.size() ; i++)
     8         {
     9             auto ite = m.find( target - nums[i] );
    10             if(  ite != m.end() && i < ite->second )
    11             {
    12                 ans.push_back(i);
    13                 ans.push_back(ite->second); 
    14             }
    15         }     
    16         return ans;    
    17         
    18     }
    pp
  • 相关阅读:
    4.12作业
    4.9上机作业
    第十周上级作业
    第九周上机作业
    第八周作业
    第八周上机作业
    第七周作业
    第七周上机练习
    第六周作业
    4.9上机练习
  • 原文地址:https://www.cnblogs.com/wangxiaoyong/p/8982651.html
Copyright © 2011-2022 走看看