码迷,mamicode.com
首页 > 其他好文 > 详细

两数之和

时间:2020-03-19 09:35:48      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:个数   建立   相同   dex   不能   php   给定一个整数数组   new   storm   

地址:https://leetcode-cn.com/problems/two-sum/

<?php
/**
 * Created by PhpStorm.
 * User: huahua
 * Date: 2020/3/18
 * Time: 下午6:23
 */

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

你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

示例:

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

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
 */
class Solution {

    /**
     * @param Integer[] $nums
     * @param Integer $target
     * @return Integer[]
     */
    function twoSum($nums, $target) {
        $scanned = [];//建立一个搜寻表

        for ($i = 0; $i < count($nums); $i++) {
            $diff = $target - $nums[$i];//当前数字与目标值的差

            if (array_key_exists($diff, $scanned)) {//搜寻表中找到与差相同的值,则返回其index
                return [$scanned[$diff], $i];
            }

            $scanned[$nums[$i]] = $i;//把扫描过的数字其index和值存入搜寻表中
        }
    }
}

$sol = new Solution();
$nums = [2, 7, 11, 15];
$target = 17;
var_dump($sol->twoSum($nums,$target));

 

两数之和

标签:个数   建立   相同   dex   不能   php   给定一个整数数组   new   storm   

原文地址:https://www.cnblogs.com/8013-cmf/p/12522020.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!