은 O (log n)에서 배열의 길이를 결정할 수있는 알고리즘을 설명합니다.배열의 길이를 결정하는 알고리즘
-1
A
답변
0
C를 감지 할 수 있습니다 것이 분명 댓글로 게시 된 조각을 기반으로
스타일 의사 코드 :
int lengthOfArray(p){
int j = 1;
try{
while(j < Integer.MaxValue){
p[j]; // Might need to do something more with p[i]
// to test bound.
j *= 2;
}
}catch(ArrayIndexOutOfBounds e){
}
j = searchArrayHelper(p, j/2, j);
try{
while(1){
// This loop is guaranteed to run O(log n) times or less.
p[j];
j++;
}
}catch(ArrayIndexOutOfBounds e){
j--;
}
return j;
}
int searchArrayHelper(p, int i, int j){
try{
p[j];
} catch (ArrayIndexOutOfBounds e){
int mid = (i + j)/2;
return searchArrayHelper(p, i, mid);
}
return i;
}
2
확인. 귀하의 질문은 다소 모호하지만 제가 위에 답변 한 의견을 게시하겠습니다.
ArrayIndexOutofBounds 오류가 발생할 때까지 i = 1, 2^1, 2^2, ... 2^m을 통해 단계를 밟습니다.
그런 다음 오류가 발생한 국경을 찾을 때까지 2^(m-1)과 2^m 사이의 이진 검색을하십시오. 그건 n이야.
이 (logn) O의
편집이 제안은 당신이 당신이 ArrayIndexOutofBounds
관련 문제
- 1. 배열의 길이를 mips로
- 2. 배열의 길이를 알리기
- 3. UITextfield에서 텍스트의 길이를 결정하는 방법
- 4. 환율을 결정하는 알고리즘
- 5. 이웃 객체를 결정하는 알고리즘
- 6. 적절한 약수를 결정하는 알고리즘
- 7. 중첩 지리적 영역을 결정하는 알고리즘
- 8. 이더넷 II 프레임의 길이를 결정하는 방법은 무엇입니까?
- 9. Android : 텍스트의 길이를 결정하는 방법 (픽셀 단위)?
- 10. 오디오 파일의 길이를 결정하는 방법이 있습니까
- 11. AVAudioPlayer와 관련된 오디오 파일의 길이를 결정하는 방법
- 12. 리터럴 배열의 길이를 찾는 방법은 무엇입니까?
- 13. 문자열 배열의 길이를 찾는 방법은 무엇입니까?
- 14. matlab : 자바 객체 배열의 길이를 찾는다
- 15. String 배열의 문자열 길이를 얻는 방법?
- 16. 사전 키 안에 배열의 길이를 얻는 것
- 17. Length 속성을 사용하지 않고 배열의 길이를 찾습니다
- 18. 이진 트리에서 최단 분기 길이를 반환하는 알고리즘
- 19. C++에서 2D 부호없는 짧은 포인터 배열 길이를 결정하는 방법
- 20. 비디오 피드에서 방의 크기를 결정하는 알고리즘
- 21. C/C++ 구조체에서 요소의 정렬을 결정하는 알고리즘
- 22. C# 값을 기반으로 사람들의 그룹을 결정하는 알고리즘
- 23. 날짜의 일광 절약 시간을 결정하는 알고리즘?
- 24. 문/텍스트가 얼마나 긍정적인지 부정인지를 결정하는 알고리즘
- 25. 텍사스 홀덤 핸드의 승자를 결정하는 알고리즘
- 26. 정수 배열의 최대 정수에 대한 알고리즘
- 27. char 포인터의 배열 요소의 총 문자 길이를 결정하는 방법은 무엇입니까?
- 28. 웹 페이지에서 렌더링되는 문자열의 길이를 결정하는 방법은 무엇입니까?
- 29. 배열에서 가능한 서브리스트 길이를 계산하십시오.
- 30. json 객체 안에있는 배열의 길이를 얻는 방법은 무엇입니까?
어떤 가정이 있습니까? – jason
질문이 너무 힘들어서 숙제하는 기분이 들게합니다. –
배열의 길이는 O (1)에서 찾을 수 있습니다. 우리는 이것을 대답하기 위해 더 많은 배경이 필요합니다. – Olhovsky