每日一题(基础算法)

Maximun Profit(每日一题)

外汇交易可以通过兑换不同国家货币以赚取汇率差,比如1美元兑换100日元时购入1000美元,在1美元兑换108日元时再卖出,这样就可以赚取差价,现在将某货币t时的价格Rt作为数据,算出Rj-Ri的最大值(j>i)

  • 输入 第一行一个整数n,接下来n行依次给证书Rt赋值
  • 输出 单独一行输出最大值

解题思路:其实看到这个题,我首先想到的时dp,但是我看这个题的难度系数,并没有那么高,所以想暴力,于是就有这个思路:

for(int j = 1;j

但是注意到这个的时间复杂度能达到O(n^2) 觉得如果数据过大的话还是会卡住,会Wa,于是去查了查,看到了一种精彩的解题思路。

minv = R[0]
for(int i = 1;i

这个解题的时间复杂度就变成了O(n),emmm,果然我还是菜。
(注释:min 与 max 指的是求最大最小的函数)

你可能感兴趣的:(每日一题(基础算法))