Java

Java 8

테스트코드

package leetcode;

import org.junit.Test;

import static org.assertj.core.api.Assertions.assertThat;

public class PS1TwoSumTest {

    @Test
    public void twoSum() {
        Solution solution = new Solution();

        int[] nums = new int[]{2,7,11,15};
        int[] result = solution.twoSum(nums, 9);
        assertThat(result).contains(0).contains(1);

        nums = new int[]{3,2,4};
        result = solution.twoSum(nums, 6);
        assertThat(result).contains(1).contains(2);

        nums = new int[]{3,3};
        result = solution.twoSum(nums, 6);
        assertThat(result).contains(0).contains(1);

        nums = new int[]{2,5,5,11};
        result = solution.twoSum(nums, 10);
        assertThat(result).contains(1).contains(2);
    }
}

단순 풀이

  • ArrayList 로 바꾼다음 하나하나 찾는다.

  • 77 ms, 6.67%

  • 별로 효과적인 방법이 아니다.

  • 복잡도 O(n^2)

    ```java

    package leetcode;

import java.util.ArrayList; import java.util.List;

class Solution { public int[] twoSum(int[] nums, int target) { int[] result = new int[2];

}

public class PS1TwoSum { public static void main(String[] args) { Solution solution = new Solution();

}

Last updated

Was this helpful?