【go】
func twoSum(nums []int, target int) []int {
// 使用 hash 的思想
isv := make(map[int]int)
length := len(nums)
for i:=0;i<length;i++ {
// 同时计算另一个值,并检查是否已经存在
if j,ok := isv[target-nums[i]]; ok && i!=j {
return []int{j,i}
}
// 记录每个值的位置
isv[nums[i]] = i
}
return nil
}
【php】
class Solution {
/**
* @param Integer[] $nums
* @param Integer $target
* @return Integer[]
*/
function twoSum($nums, $target) {
for ($i=0;$i<count($nums);$i++) {
$diff = $target-$nums[$i];
if(array_key_exists($diff,$find)){
return [$find[$diff],$i];
}
$find[$nums[$i]] = $i;
}
}
}
版权声明:本文为qq_20008173原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。