题目:
给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。
设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。
JAVA:
class Solution { public int maxProfit(int[] prices) { int length = prices.length; if(length ==0) return 0; int i=0; int max = 0;//总收益 for(int j=1;jprices[j]){//当天价格比第二天贵,则不买,有票就卖掉 }else{//买入 max = max + (prices[j] - prices[i]); } i++; } return max; } }
C++:
class Solution { public: int maxProfit(vector& prices) { int length = prices.size(); int i=0; int max = 0;//总收益 for(int j=1;j prices[j]){//当天价格比第二天贵,则不买,有票就卖掉 }else{//买入 max = max + (prices[j] - prices[i]); } i++; } return max; } };
C:
int maxProfit(int* prices, int pricesSize){ if(pricesSize == 0) return 0; int i=0; int max = 0;//总收益 for(int j=1;jprices[j]){//当天价格比第二天贵,则不买,有票就卖掉 }else{//买入 max = max + (prices[j] - prices[i]); } i++; } return max; }
ps: 没搞懂,刷算法,还有买股票,而且还提前把后面的价格标出来了,这要是能提前知道后面价格,买股票还有亏钱的吗,虽然不符合场景,但也不耽误训练数组算法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)