검지 Offer 시리즈 - 면접 문제 21: min 함 수 를 포함 한 스 택
1328 단어 검지 제공
사고: 새로운 스 택 minStack 을 만 듭 니 다. push 할 때마다 minStack 의 스 택 꼭대기 요소 와 비교 합 니 다. 스 택 꼭대기 요소 보다 작 으 면 스 택 에 들 어 갑 니 다. minStack 에서 스 택 꼭대기 요 소 는 항상 가장 작은 숫자 입 니 다.pop 의 경우, pop 크기 가 minStack 의 스 택 꼭대기 요소 크기 와 같 으 면 minStack 의 스 택 꼭대기 요 소 를 스 택 에서 나 옵 니 다.
여기 서 저 는 에서 매번 스 택 에 들 어 갈 때마다 현재 의 최소 값 을 스 택 에 넣 지 않 았 습 니 다. 제 가 사용 하 는 방법 은 현재 스 택 에 들 어 갈 값 이 현재 의 최소 값 보다 작 으 면 minStack 에서 스 택 에 들 어 갑 니 다. 스 택 을 나 갈 때 스 택 의 수 는 minStack 의 스 택 꼭대기 요소 와 같 으 면 minStack 의 스 택 꼭대기 요 소 를 스 택 에서 나 갑 니 다. 예전 에 스 택 에 들 어 갈 때 스 택 에 들 어 갈 때 보다 작 기 때 문 입 니 다.그래서 창고 안에 같은 크기 의 숫자 가 있어 도 실수 하지 않 습 니 다. 이런 방법 을 사용 하 는 것 은 주로 창고 의 공간 을 절약 하기 위해 서 입 니 다. 그리고 매번 창고 에 나 갈 때마다 minStack 도 창고 에서 나 오지 않 아 도 됩 니 다. 판단 만 하면 됩 니 다.
코드:
stack data, minStack;
void push(int value)
{
data.push(value);
if(minStack.empty())
{
minStack.push(value);
}
else
{
if(value <= minStack.top())
{
minStack.push(value);
}
}
}
void pop()
{
if(data.top() == minStack.top())
{
minStack.pop();
}
data.pop();
}
int top()
{
return data.top();
}
int min()
{
return minStack.top();
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
\ # 데이터 구조 와 알고리즘 학습 노트 \ # 검 지 제공 42: 단어 순 서 를 뒤 집기 + 테스트 사례 (자바, C / C +)2019.1.2 검 지 Offer 는 제로 브러시 개인 노트 정리 (66 문제 전) 디 렉 터 리 전송 문 에서 인터넷 에 서 는 원 서 를 포함 한 많은 방법 이 문장 을 두 번 뒤 집 는 것 이다. 첫 번...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.