方法1:java
贪心算法,从左往右遍历向量,遇到当前最小值,则保存,
如果不是最小值,则计算它到最小值的距离,保存为最大利润
import java.util.*;
public class Solution {
/**
*
* @param prices int整型一维数组
* @return int整型
*/
public int maxProfit (int[] prices) {
// write code here
int flag=-1;
int min=prices[0]; //最小值赋为第一天
int max=0;
for (int i=1; i<prices.length; i++){
if (prices[i]<min){
min=prices[i]; //更新最小值
}else{
max=Math.max(max,prices[i]-min);
}
}
return max;
}
}

方法2:python
class Solution:
def maxProfit(self , prices ):
# write code here
minS=prices[0]
maxS=0
for i in range(1,len(prices)):
if prices[i]<minS:
minS=prices[i]
else:
maxS=max(maxS,prices[i]-minS)
return maxS

这篇博客介绍了两种不同的编程方法(Java 和 Python)来实现贪心算法,以求得股票交易的最大利润。在每天的股票价格中,算法从左到右遍历,找到最低价格作为买入点,然后计算后续每一天卖出所能获得的最大利润。这种方法不考虑多次买卖,只关注一次交易的最大收益。
250

被折叠的 条评论
为什么被折叠?



