首页 > 试题广场 >

比特币最佳买卖时机

[编程题]比特币最佳买卖时机
  • 热度指数:10778 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

给定一个正整数数组,它的第 i 个元素是比特币第 i 天的价格。

如果你最多只允许完成一笔交易(即买入和卖出一次),设计一个算法来计算你所能获取的最大利润。

注意你不能在买入比特币前卖出。


输入描述:
正整数数组,为以空格分隔的n个正整数


输出描述:
最大利润
示例1

输入

7 1 5 3 6 4

输出

5
var arr= readline().split(" ")
for (var i in arr)
    arr[i] = parseInt(arr[i])
console.log(change(arr))
function change(arr){
    var left= 0
    var right = arr.length-1
    var max = 0
    while(left <right){
        if(arr[right] - arr[left]> max){
            max = arr[right] - arr[left]
        }
        if(arr[left]-arr[left+1] > arr[right-1] - arr[right]){
            left++
        }
        else right --
    }
    return max
}
发表于 2021-04-02 11:24:14 回复(0)