1.TwoSum

2018-01-19  本文已影响0人  一棵会开花的树_f654

第一次写东西记录刷题过程,希望能坚持下去~

刷了第一题TwoSum,好长时间没接触Java了,都有些陌生了,Run code的时候还出了一些错误,但最后还是写出来了。

双重循环没有问题,但是如何返回数组这困了我一下,因为最近用到了python,返回数组可以直接写[i,j],我也给直接这么写了,可想而知错了呗,然后就新建了一个int数组,把符合要求的索引赋值到数组中,然后返回数组。

看了别人的代码,发现可以直接这样返回:


return new int[]{i,j}

果然是时间太久远了,连数组的创建方式都忘了,整理一下吧:

Java创建数组主要有三种方式:

  1. int[] a = new int[5];

  2. int[] a = {2,3,5};

3.int[] a = new int[]{4,6,8};

另外,借鉴别人的代码,各种可能性都需要考虑,比如如果数组没有满足条件怎么办?所以,最后我提交的代码是这样的:


class Solution {

    public int[] twoSum(int[] nums, int target) {

        for(int i=0; i<nums.length; i++){

            for(int j=i+1; j<nums.length; j++){

                if(nums[i]+nums[j] == target)

                    return new int[]{i,j};

            }

        }

        throw new IllegalArgumentException("No two sum solution");
  }
}

上一篇 下一篇

猜你喜欢

热点阅读