首页 > AI文库 >

用java写一个算法:假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?

来自 黑龙江省哈尔滨市 的网友分享 (°C) 10990

来自 黑龙江省哈尔滨市 的网友 分享

(°C)

可以使用动态规划的方法来解决这个问题。假设股票价格数组为prices,长度为n。

首先定义两个变量:minPrice表示当前遍历到的最低股票价格,maxProfit表示当前遍历到的最大利润。

然后遍历整个股票价格数组,对于每个价格,更新minPrice为当前价格和minPrice中的较小值,更新maxProfit为当前价格与minPrice的差值和maxProfit中的较大值。

最后返回maxProfit即为买卖该股票一次可能获得的最大利润。

以下是Java代码实现:

```java
public int maxProfit(int[] prices) {
int n = prices.length;
if (n == 0) {
return 0;
}

int minPrice = prices[0];
int maxProfit = 0;

for (int i = 1; i < n; i++) {
minPrice = Math.min(minPrice, prices[i]);
maxProfit = Math.max(maxProfit, prices[i] - minPrice);
}

return maxProfit;
}
```

这个算法的时间复杂度是O(n),其中n是股票价格数组的长度。

相关推荐

中国经济实现高质量发展具备哪些显著优势论文1500字

AI文库

世界变乱交织,中国笃行担当 变革动荡 大国关系 中国智慧 上述内容分别为大标题和三个小标题,请以此写出不少于2000字的形式与政策论文,要求内容充实具体,不存在抄袭、、雷同情况

AI文库

假如你是形式与政策这个课程的一名学生,请以“世界变乱多织,中国笃行担当”为主题,写一篇论文,要求完全按照论文的格式,字数一定在2500字以上!

AI文库

请结合《走好新时代科技自立自强之路》专题和今年2月8日广东省高质量发展大会聚焦产业科技话创新、谋未来主题,谈谈你对党的二十大提出的“科技强国”战略的认识及行动

AI文库

国家安全为什么与你我息息相关论文不少于1500

AI文库

热门图文

上一篇:健康管理或者预防医学的高级称谓设计,出20个称谓

下一篇:表达对学校领导关怀的语句