给出一个整数数组,请在数组中找出两个加起来等于目标值的数,
你给出的函数twoSum 需要返回这两个数字的下标(index1,index2),需要满足 index1 小于index2.。注意:下标是从1开始的
假设给出的数组中只存在唯一解
例如:
给出的数组为 {2, 7, 11, 15},目标值为9
输出 ndex1=1, index2=2
<?php
/**
* @param $arr
* @param $sum
* @return array
* @brief 这种方式把重复数据的情况考虑进去了
*/
function twoSum($arr, $sum) {
$newArr = array();
foreach ($arr as $key => $value) {
if (isset($newArr[$sum - $value])) {
return [$newArr[$sum - $value] , $key];
}
if (!isset($newArr[$value])) {
$newArr[$value] = $key;
}
}
}
$arr = [5,5,1,12];
$sum = 10;
$ret = twoSum($arr, $sum);
print_r($ret);
本文深入探讨了在整数数组中寻找两数之和为目标值的算法实现。通过一个PHP函数twoSum,展示了如何有效地找到满足条件的两个数字的下标,并确保下标顺序正确。文章提供了一个具体示例,帮助读者理解算法的工作原理。
290

被折叠的 条评论
为什么被折叠?



