(이분법 문제 해결 프로세스 문제에 있는지에 대해) LeetCode 374 크기를 추측

내가 여기에만 간단한 연설, 나는이 주제를 수행에서 발생하는 문제입니다, 블로그의 많은 LeetCode374 상세한 설명을 만들어 해결하기 위해 아이디어와 방법을 가지고 이미있다!
이 솔루션은 절반의 공간 검색에 주어진 그 숫자마다 컷을 찾기 위해 이분법의 원리를 사용하는 것입니다!
중간 값의 계산에서, 중간 두 식을 가지고 :

mid = (low + high) / 2;
mid = low + (high - low) / 2;

이 두 식의 차이는 : 시간의 작은 범위를 찾을 때, 사용할 수 있지만 시간의 넓은 범위, 낮은 + 최고는 오류를 실행하는, 오버 플로우가 나타날 수 있습니다 때!
물론,이 경우, 프로그램은 반드시 (자신의 컴퓨터에서 멈추지 프로그램하는 동안, 제출 과정 후에이 시간 종료) 오류가 실행되지 않습니다,
시작은 단지 잘 알고 여전히 이분법하지 찾기 느낄 수 있습니다 국경주기는 질문을 밖으로하지만, 검사 후이 이유없는 것으로 나타났습니다;
바이두와 학생들과의 토론에서, 그들은 결국 알고 너무 큰 번호이며, 축적 된 오버 플로우가 발생하면, 캐시 공간 문제가 발생, 충돌!
나중에 순간을 바이이 오류 오버플로 일반적으로하지 않거나 상황이 초과 근무를 실행할 수 있도록, 오류 메시지가 표시!
요약하면, 때 이진 검색을 사용 후, 피할 오버 플로우, 두 번째 공식을 사용하려고!

게시 33 개 원래 기사 · 원의 찬양 3 · 조회수 6318

추천

출처blog.csdn.net/m0_37683327/article/details/103955941