1、两数之和

/**
 * 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
 * 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。
 *
 * 示例:
 * 给定 nums = [2, 7, 11, 15], target = 9
 * 因为 nums[0] + nums[1] = 2 + 7 = 9
 * 所以返回 [0, 1]
 */
public function t1()
{
    $nums = [2, 7, 11, 15];
    $target = 9;
    $result = [];

    $array_len = count($nums);

    for ($i = 0; $i < $array_len; $i++) {
        for($j = $i+1; $j< $array_len; $j++){
            if($nums[$i] + $nums[$j] === $target){
                $result[] = $i;
                $result[] = $j;
            }
        }

    }

    var_dump($result);
}

java解法

class Solution {
    
    public int[] twoSum(int[] nums, int target) {
        
        int len = nums.length;
        
        for (int i = 0; i < len; i++) {
            for (int j = i+1; j < len; j++) {
                if (nums[j] + nums[i] == target  ) {
                    return new int[] { i, j };
                }
        }
    }
        
    throw new IllegalArgumentException("No two sum solution");
    }
}

猜你喜欢

转载自blog.csdn.net/wangxinxinsj/article/details/80706928