LeetCode_34. 정렬 배열 에서 요소 의 첫 번 째 와 마지막 위 치 를 찾 습 니 다.
오름차 순 으로 배 열 된 정수 배열 nums 와 목표 값 target 을 지정 합 니 다.주어진 목표 값 이 배열 의 시작 위치 와 끝 위 치 를 찾 습 니 다.
당신 의 알고리즘 시간 복잡 도 는 반드시 O (log n) 등급 이 어야 합 니 다.
배열 에 목표 치가 존재 하지 않 으 면 [- 1, - 1] 을 되 돌려 줍 니 다.
예시 1:
입력: nums = [5, 7, 7, 8, 8, 10], target = 8 출력: [3, 4] 예시 2:
입력: nums = [5, 7, 7, 8, 8, 10], target = 6 출력: [- 1, - 1]
문제 풀이 의 사고 방향.
1. 길 이 를 2 시 배열 int [] x = {- 1, - 1} 로 정의 합 니 다.검색 결과 2 를 저장 하고 정렬 된 배열 을 옮 겨 다 니 며 3. 배열 에서 목표 값 target 과 같은 값 을 찾 으 면 xj 를 통 해 배열 nums [i] i 의 위 치 를 저장 하고 j 의 값 을 14 로 변경 합 니 다. 배열 의 후속 값 이 목표 값 target 과 같 으 면 xj 를 통 해 배열 nums [i] 의 위 치 를 저장 합 니 다. 5. 배열 에서 하나의 값 만 목표 값 과 같 으 면 x [0] 의 값 을 x [1] 6 에 부여 합 니 다.결과 집합 되 돌리 기 x
//java
public int[] searchRange(int[] nums, int target) {
int[] x = { -1, -1 };
for (int i = 0, j = 0; i < nums.length; i++) {//
if (target == nums[i]) {// target
x[j] = i;// x[0] i , , x[1] i 。
j = 1;// j 1.
}
}
if (x[0] > x[1]) {// x[0] x[1]
x[1] = x[0];
}
return x;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.