想問一下哪裡錯了 找不到
這是DP的概念ㄅ
===================================================
#include<iostream>
using namespace std;
int main(){
int n;
while(cin>>n&&n!=0){
int price[10000]={0},maxGain[10000]={0},minPrice[10000]={0};
for(int i=0;i<n;i++)
cin>>price[i];
minPrice[0]=price[0];
maxGain[0]=0;
for(int i=1;i<n;i++){
minPrice[i]=min(price[i],minPrice[i-1]);
maxGain[i]=max(price[i]-minPrice[i-1],maxGain[i-1]);
}
cout<<maxGain[n-1]<<endl;
}
}
===================================================
想問一下哪裡錯了 找不到
這是DP的概念ㄅ
===================================================
#include
using namespace std;
int main(){
int n;
while(cin>>n&&n!=0){
int price[10000]={0},maxGain[10000]={0},minPrice[10000]={0};
for(int i=0;i<n;i++)
cin>>price[i];
minPrice[0]=price[0];
maxGain[0]=0;
for(int i=1;i<n;i++){
minPrice[i]=min(price[i],minPrice[i-1]);
maxGain[i]=max(price[i]-minPrice[i-1],maxGain[i-1]);
}
cout<<maxGain[n-1]<<endl;
}
}
===================================================
你要不要測試看看以下測資:
4
1 3 2 4
答案應該要是4,你的會輸出3。
理論上這題的要求與動態規劃無關,反而是當交易次數有限制時才會用到(應該吧?)