{1, 2, 3, 4, 5, 7, 8, 9, 10, 15, 16, 21, 23, 25, 26}
의 정렬 된 배열이 있다고 가정 해 봅니다. 현실에서정렬 된 배열에 간격 만들기
1..5
7..10
15..16
21..21
23..23
25..26
내가 훨씬 더 큰 데이터를, 그래서 나는 좋은 런타임과 알고리즘을 필요 : 나는 간격으로 다음과 같은 방법을 이러한 요소를 넣어 싶습니다.
내가 생각한 것은 다음과 같습니다. 배열을 2 부분으로 분리하고 4 루프가 배열을 통과합니다. 0 인덱스에서 하나의 루프, 배열 중간에서 2 루프, 끝에서 1 루프. 모든 루프는 현재 요소와 다음 요소의 diff가 1인지 확인하고, 예이면 다음 요소로 이동하고, 이전 요소와의 간격을 만들고 다음 요소에서 새 간격을 시작합니다.
제 질문은 좋은 접근 방법입니까 아니면 더 좋은 방법입니까? 제발 의사 또는 자바 코드.
인덱스 0으로 시작하여 순차 루프를 수행하고 간격의 첫 번째 요소를 추적하지 않는 이유는 무엇입니까? – tsolakp
간격은 어떻게 파생됩니까? 그 안에 어떤 무늬도 보이지 않습니다. – user3437460
왜 모든 루프가 필요합니까? 그것은 마지막 값 + 1! = 현재 값을 시작할 때 새로운 간격으로 단일 루프처럼 보입니다. –