티스토리 뷰

SMALL

- Time Limit Exceeded 발생

찾아보니 Time Limit Exceeded는 시간복잡도가 높아서 발생한다고 한다. 

해당 문제는 O(logn)의 시간복잡도 조건이 있다.

class Solution {
    public int searchInsert(int[] nums, int target) {
        int fir = 0;
        int last = nums.length-1;
        
        while(fir<=last){
            int mid = fir+last/2;
            if(nums[mid]==target) return mid;
            else if(nums[mid]<target) fir = mid+1;
            else last = mid-1;     
        }
        return fir; 
    }
}

 

알고보니 그냥 가벼운 실수였다;;

int mid = (fir+last)/2;

 

 

 

 

궁금한 점은 다른 사람의 코드를 확인해보니, 이렇게 쓰는 경우도 있던데 이러면 memory를 내 코드에 비해 조금 사용하게 된다. 이건 상관없는 건가? 잘 모르겠다.

int mid = fir + (last-fir)/2;

반응형
LIST
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함