안녕하세요 모두는 누군가가 내 코드와 함께 나를 도울 수피크 찾기 알고리즘 오류
당신이갈 여기
찾는 피크가 배열을 지정해 무엇인지 궁금해하는 경우는, 피크 찾기위한 코드입니다
정수의. 그것의 피크 요소를 찾으십시오. 배열 요소는 인접 요소보다 작지 않으면 peak입니다. 모서리 요소의 경우 하나의 이웃만 고려해야합니다. 예를 들어 입력 배열 {5, 10, 20, 15}의 경우 20이 유일한 피크 요소입니다. 입력 배열 {10, 20, 15, 2, 23, 90, 67}에는 두 개의 피크 요소 인 20과 90이 있습니다. 하나의 피크 요소를 반환해야합니다.
내 문제가 배열 또는에서 첫 번째 위치에 경우 내 코드는 피크 요소를 찾을 수 나던 것입니다 마지막으로 여기에
는 그
public static void main(String[] args) {
int [] arr = {1,2,3,4,1,3,3,7,8,2,16};
peakFinding(arr, 0,arr.length);
}
public static void peakFinding(int [] arr,int start ,int end){
int mid = (start+end)/2;
if(arr[mid]<=arr[mid+1]){
start = mid;
end = arr.length;
peakFinding(arr, start, end);
}else if(arr[mid]<=arr[mid-1]){
start = 0;
end = mid-1;
peakFinding(arr, start, end);
}else{
System.out.println("I have found peak "+arr[mid]);
}
}
너무 빨리 답장을 보내 주셔서 대단히 감사합니다. – Jorgovanka