Alieen Yin 2017-04-01 05:56 采纳率: 0%
浏览 1984

leetcode第1题,两数之和问题

大四才开始看算法,是不是已经晚了?算法渣渣的开始

题目是这样的:
Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

Example:
Given nums = [2, 7, 11, 15], target = 9,

Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].

我的代码是这样的:

 public class Solution {
    public int[] twoSum(int[] nums, int target) {
        int sum[]=new int[2];
        for(int i=0;i<nums.length;i++){
            for(int j=1;j<nums.length;j++){
               if(nums[j]+nums[i]==target){
                   sum[0]=j;
                 sum[1]=i;
               } 
            }

        }
      return sum;


    }
}

系统说通过了一半的测试,例如[3,3]6输入就会出错
不是很明白,感觉我的答案和其他的也差不多

  • 写回答

4条回答 默认 最新

  • 迷茫猿小明 2017-04-01 06:05
    关注

    第二个循环应该是j=i+1吧,要不然会出现[2,3]已经是正确答案了,你的却是[3,2]

    评论

报告相同问题?