1. 首页
  2. 每日一题

两数之和

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9

所以返回 [0, 1]

//本人解题方法
 for($i=0;$i<count($nums);$i++){
    for($j=$i+1;$j<count($nums);$j++){
      if($nums[$i]+$nums[$j]==$target){
         return [$i,$j];
      }
    }
 }

耗时12秒 ,很不理想。

两数之和
//其他大佬解决方法
 foreach ($nums as $k=> $v){
            if(isset($result[$target - $v]) && $nums[$result[$target - $v]] + $v === $target) {
                return [$result[$target - $v],$k];
            }
            $result[$v] = $k;
}

本文来自力扣(LeetCode),经授权后发布,本文观点不代表iflew立场,转载请联系原作者。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

在线咨询:点击这里给我发消息

邮件:admin@xnhyl.cn

工作时间:周一至周五,9:30-18:30,节假日休息