[알고리즘] Leetcode_1_Two_Sum

jeongjwon·2023년 3월 22일
0

알고리즘

목록 보기
6/48

Problem


Solve

  1. O(n^2) 의 방법으로 for문 두 번을 통해 i는 0 ~ nums.length-1 까지 j는 i+1 ~ nums.length-1 까지 순회하면서 배열 요소 하나하나를 합으로 구해 target 과 비교한다.
  2. Only one valid answer exists. 이기 때문에 sum 과 target 이 같다면 반환할 배열에 값을 할당하고 즉시 두 반복문을 멈춘다.
class Solution {
    public int[] twoSum(int[] nums, int target) {
        int[] result = new int[2];

        for(int i = 0 ; i < nums.length; i++){
            int sum = 0;
            boolean flag = true;
            for(int j = i+1; j < nums.length ; j++){
                sum = nums[i] + nums[j];
                if(sum == target){
                    result[0] = i;
                    result[1] = j;
                    flag = false;
                    break;
                }
            }
            if(!flag) break;
        }
        return result;
    }
}

0개의 댓글