两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。
示例
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]
解析
function twoSum($nums, $target) {
foreach($nums as $k=>$v){
$an = $target - $nums[$k];
unset($nums[$k]);
$res = array_search($an,$nums);
if($res !== false){
return [$k,$res];
}
}
}
$arr = twoSum($nums,$target);
print_r($arr);
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
你这个题目
LeetCode有 给个普遍的解法@panda-sir 嗯,我也是看的
Leecode上的题目,他这个两个for循环不算重复利用相同的元素吗?然后我这个解法能不能满足这个题目的需求啊?@panda-sir
当测试用例为:
$nums = [3,3]; $target = 6输出结果就是:
[0,0]与预期结果不符:
[0,1]我的代码:
@showcj :joy: :joy:多谢,搞了半天搞错了。
268ms路过,性能全靠 PHP 函数,刷算法还是C/C++靠谱