给定一个正整数数组,它的第 i 个元素是比特币第 i 天的价格。
如果你最多只允许完成一笔交易(即买入和卖出一次),设计一个算法来计算你所能获取的最大利润。
注意你不能在买入比特币前卖出。
招商银行笔试题之比特币最佳买卖时机
AC代码:

import java.util.*;
public class Main {
    public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String[] string = sc.nextLine().split(" ");
		if(string.length < 2) {
			System.out.println(0);
			return ;
		}
		int[] num = new int[string.length];
		for(int i = 0;i < num.length;i++) {
			num[i] = Integer.parseInt(string[i]);
		}
		int[] num1 = new int[num.length - 1];
		for(int i = 0;i < num1.length;i++) {
			num1[i] = num[i + 1] - num[i];
		}
		int max = 0;
		int sum = 0;
		for(int i = 0; i < num1.length;i++) {
			sum += num1[i];
			if(sum < 0) {
				sum = 0;
			}
			max = Math.max(sum, max);
		}
		System.out.println(max);
    }
}

相关文章:

  • 2022-12-23
  • 2021-06-24
  • 2021-06-15
  • 2021-11-02
  • 2021-06-28
  • 2022-12-23
  • 2021-05-13
猜你喜欢
  • 2022-02-05
  • 2021-05-24
  • 2021-04-04
相关资源
相似解决方案