[leetcode] 122. 주식 매매 적기 II
배열 을 지정 합 니 다. 그 i 번 째 요 소 는 주어진 주식 의 i 일 째 가격 입 니 다.
당신 이 얻 을 수 있 는 최대 이윤 을 계산 하기 위해 알고리즘 을 설계 하 세 요.너 는 가능 한 한 더 많은 거래 를 완성 할 수 있다.
주의: 당신 은 여러 가지 거래 에 동시에 참여 할 수 없습니다.
예시 1:
수입: [7, 1, 5, 3, 6, 4] 수출: 7 설명: 다음날 (주식 가격 = 1) 에 매입 하고 3 일 (주식 가격 = 5) 에 판매 하면 이 거래 소 는 이윤 = 5 - 1 = 4 를 얻 을 수 있다.이 어 나 흘 째 (주식 가격 = 3) 에 매입 해 5 일 째 (주식 가격 = 6) 에 팔 았 는데, 이 거래 소 는 이익 을 얻 을 수 있다 = 6 - 3 = 3.예시 2:
수입: [1, 2, 3, 4, 5] 수출: 4 해석: 첫날 (주식 가격 = 1) 에 매입 하고 5 일 (주식 가격 = 5) 에 매각 하면 이 거래 소 는 이윤 = 5 - 1 = 4 를 얻 을 수 있다.첫날 과 다음날 잇달아 주식 을 사서 팔 지 않도록 주의해 라.여러 거래 에 동시에 참여 한 것 이기 때문에, 당신 은 다시 사기 전에 이전의 주식 을 팔 아야 합 니 다.예시 3:
입력: [7, 6, 4, 3, 1] 수출: 0 설명: 이런 상황 에서 거래 가 완성 되 지 않 았 기 때문에 최대 이윤 은 0 이다.
분석 하 다.
욕심 산법 을 고찰 하고 한 쪽 을 옮 겨 다 니 면 됩 니 다. 경계 조건 에 주의 하 세 요!
코드
class Solution {
public:
int maxProfit(vector& prices) {
if(prices.size()==0)
return 0;
int index;int num=0;
for(int i=0;iprices[index]){
index++;
}
num+=(prices[index]-prices[i]);
i=index+1;
}
return num;
}
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.