Debug客栈
做一个爱分享的程序猿
Debug客栈
Leetcode PHP 两数之和

友情提示:此篇文章大约需要阅读 1分钟 43秒,不足之处请多指教,感谢你的阅读。 订阅本站

题目

给定一个整数数组 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) {
        foreach($nums as $k=>$v){
            // 销毁已经查找的数组索引
            unset($nums[$k]);
            // 查询当前数组是否存在
            $i = array_search(($target - $v), $nums);
            // 如果有值,返回结果
            if($i){
                return [$k, $i];
            }
        }
    }
}

执行时间:116ms,内存消耗:15.9MB

这是我刷算法的 Github 仓库,喜欢的话可以给我一个 star,谢谢。

赞赏
本文链接:https://www.debuginn.cn/4546.html
本文采用: CC BY-NC-SA 3.0 Unported 协议进行许可,转载请保留此文章链接

发表评论

textsms
account_circle
email

Debug客栈

Leetcode PHP 两数之和
题目 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但…
扫描二维码继续阅读
2019-12-17