写点什么

两数之和

用户头像
书旅
关注
发布于: 2020 年 08 月 12 日
两数之和

>题目:

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

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



>示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]



方法一:


/**
*@params Integer[] $nums
*@params Integer $target
*@return Integer[]
* array_keys(array,search_value,strict):返回数组中部分的或所有的键名
* 找到array数组中,值为search_value的key,以数组的形势返回。strict为严格模式(===)
*/
function twoSum(array $nums, $target)
{
$tmp = [];
for ($i = 0,$count = count($nums); $i < $count; $i++) {
$arrKey = array_keys($tmp, ($target - $nums[$i]))
if ($arrKey) {
return [$arrKey[0], $i];
}
$tmp[$i] = $nums[$i];
}
}
}



方法二:

/**
*@params Integer[] $nums
*@params Integer $target
*@return Integer[]
* array_key_exits(key,array):检查某个键名,是否存在指定数组中,如果存在返回true,否则返回false
*/
function twoSum($nums, $target)
{
$tmp = [];

for ($i = 0, $count = count($nums); $i < $count; $i++) {
$bool = array_key_exists(($target - $nums[$i]), $tmp);

if ($bool) {
return [$tmp[$diff], $i];
}

$tmp[$nums[$i]] = $i;
}
}





发布于: 2020 年 08 月 12 日阅读数: 45
用户头像

书旅

关注

公众号:IT猿圈 2019.04.11 加入

还未添加个人简介

评论

发布
暂无评论
两数之和