LeetCode【167. 两数之和 II

这道题最开始想到的就是,两个for,target是两数之和,就可以target - numbers[i],比较是否有与后面数相等。

class Solution {
    public int[] twoSum(int[] numbers, int target) {
        int i,j,s;
        int c = numbers.length;
        int[] t = new int[2]; 
        for(i = 0;i <= c-1;i++)
        {
            s = target - numbers[i];
            t[0] = i+1;
            for(j = i + 1;j <= c-1;j++)
            {
                if(numbers[j] == s)
                {
                    t[1] = j+1;
                    return t;
                }
            }
        }
        return null;
    }
}

这样写的问题就在于,数多了后,有超时的可能。

原文地址:https://www.cnblogs.com/wzwi/p/10860892.html