OFFER - 정렬 배열에 숫자가 나타나는 횟수
OFFER - 정렬 배열에 숫자가 나타나는 횟수
Question
하나의 숫자가 정렬 수조에 나타나는 횟수를 통계하다.키워드: 질서수 그룹 횟수 반으로 찾기
Solution
반으로 접어서 같은 숫자를 찾아 앞뒤로 세어라.
반값으로 찾다
시간 복잡도: O (N)?공간 복잡성: O(1)
반으로 접어서 같은 숫자를 찾아 앞뒤로 세어라.
반값으로 찾다
시간 복잡도: O (N)?공간 복잡성: O(1)
class Solution:
def GetNumberOfK(self, data, k):
count = 0
l = 0
r = len(data)-1
while l<=r:
mid = (l+r)//2
if data[mid]==k:
count = 1
low = mid-1
hi = mid+1
while low>=0 and data[low]==k:
count += 1
low -= 1
while hi<len(data) and data[hi]==k:
count += 1
hi += 1
break
elif data[mid]>k:
r = mid-1
else:
l = mid+1
return count
class Solution {
public:
int GetNumberOfK(vector<int> data ,int k) {
int l = 0;
int r = data.size()-1;
int count = 0;
while(l<=r){
int mid = (l+r)/2;
if (data[mid]==k){
count = 1;
int low = mid-1;
int hi = mid+1;
while(low>=0 && data[low]==k){
count++;
low--;
}
while(hi<data.size() && data[hi]==k){
count++;
hi++;
}
break;
}
else if(data[mid] > k)
r = mid-1;
else
l = mid+1;
}
return count;
}
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.