两数之和leetcode入门,两数之和leetcode python

  两数之和leetcode入门,两数之和leetcode python

  LeetCode_1_两个数的和

  给定一个整数数组nums和一个整数目标值,请找出两个整数的和是数组中的目标值。

  例如:nums=[2,7,11,15],target=9

  输出:[0,1]

  说明:因为nums[0] nums[1]==9,所以返回[0,1]。

  计划暴力法

  容器中的值按外循环顺序获取,内循环中的值从外循环中的下一个顺序开始相加。如果是目标值,则返回下标。

  class Solution { public:vector int two sum(vector int nums,int target){ int n=nums . size();for(int I=0;in-1;I){ for(int j=I 1;jn;j){ if((nums[I]nums[j])==target)return { I,j };} } return { }}};方案2:使用映射键值对来查找。

  使用地图容器,存储是相反的。使用nums[i]作为关键字,下标作为值。使用count函数,如果有一个target-nums[i],就可以找到它的下标,得到你需要的东西。

  class Solution { public:vector int two sum(vector int nums,int target) { mapint,int map1向量r1(2,-1);for(int I=0;inums . size();I){ if(map 1 . count(target-nums[I])0){ R1[0]=map 1[target-nums[I]];R1[1]=I;打破;} map 1[nums[I]]=I;}返回R1;}};

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: