티스토리 뷰
leetcode.com/problems/search-insert-position/
Search Insert Position - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
문제
독립된 정수가 들어있는 정렬된 배열과 타겟 값이 주어진다. 배열에서 타겟 값의 인덱스를 구하시오. 없다면 들어갈때 있어야하는 인덱스를 리턴하시오.
어떻게 풀까
binary search 방식을 사용하자
leftIdx와 rightIdx를 사용하여 middleIdx를 구하고 타겟 값으로 향하는 방식을 사용한다.
middle값을 읽어와 target값과 같다면 middleidx를 리턴한다.
rightIdx 와 leftIdx가 1 차이가 날 경우 targetIdx를 leftIdx나 leftIdx+1로 리턴한다.
구현
class Solution { public int searchInsert(int[] nums, int target) { int leftIdx = 0; int rightIdx = nums.length; int targetIdx = 0; while(leftIdx <= rightIdx) { if (rightIdx - leftIdx == 1) { targetIdx = nums[leftIdx] >= target ? leftIdx : leftIdx + 1; break; } int midIdx = (rightIdx + leftIdx) / 2; int mid = nums[midIdx]; if (mid == target) { targetIdx = midIdx; break; } else if(mid < target) leftIdx = midIdx; else rightIdx = midIdx; } return targetIdx; } }
'Algorithm > 릿코드(leetcode)' 카테고리의 다른 글
[릿코드] 349번 : Intersection of Two Arrays (0) | 2021.05.10 |
---|---|
[릿코드] 167번 : Two Sum II - Input array is sorted (0) | 2021.05.10 |
[릿코드] 290번 : Word Pattern (0) | 2021.05.10 |
[릿코드] 204번 : Count Primes (0) | 2021.05.01 |
[릿코드] 1491번 : Average Salary Excluding the Minimum and Maximum Salary (0) | 2021.04.28 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- leetcode 278
- Leetcode717
- leetcode 350
- leetcode 204
- elastic ip
- 1491
- ngrok
- 2447
- 별찍기-10
- webhook
- 릿코드
- binary search
- leetcode 35
- Docker
- 티스토리코드작성
- leetcode 167
- 백준
- binarySearch
- leetcode 349
- java
- Github
- LeetCode
- xmlpullparserexceptioin
- 뒤늦은 1년 후기
- config.xml
- 언제까지할수있을까
- leetcode 69
- gradle빌드
- Jenkins
- 도커
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함