주제 :
정렬 된 배열 및 대상을 감안할 때, 배열의 객체를 찾아, 그 인덱스를 반환합니다. 타겟 어레이에 존재하지 않을 경우, 시퀀스 삽입 위치에 복귀한다.
당신은 배열이 중복 요소를 생각하지 않을 수 있습니다.
예 1 :
입력 : [1,3,5,6], (5)
출력 : 2
출력 : 2
예 2 :
입력 : [1,3,5,6], (2)
출력 : 1
출력 : 1
예 3 :
입력 : [1,3,5,6], 7
출력 : 4
출력 : 4
예 4 :
입력 : [1,3,5,6], 0
출력 : 0
출력 : 0
해결 방법 :
정렬 된 배열을 참조 이진 검색을 먼저 생각했다.
코드 :
클래스 해결 { 공개 INT searchInsert ( INT [] nums, INT의 타겟) {//模板 INT 왼쪽 = 0, 우측 nums.length = - 1 ; 상태 (왼쪽 <= 우측) { INT 중간 = (좌측 + 우측) / 2 ; 경우 (nums [미드] == 타겟) { 반환 미드; } 다른 경우 (nums [미드] < 타겟) { 좌측 = 중간 + 1 ; } 다른 { 권리 = 중순 - 1; } } 반환 왼쪽; } }