CMB14. 比特币最佳买卖时机
描述
给定一个正整数数组,它的第 i 个元素是比特币第 i 天的价格。
如果你最多只允许完成一笔交易(即买入和卖出一次),设计一个算法来计算你所能获取的最大利润。
注意你不能在买入比特币前卖出。
输入描述
正整数数组,为以空格分隔的n个正整数输出描述
最大利润示例1
输入:
7 1 5 3 6 4
输出:
5
C 解法, 执行用时: 2ms, 内存消耗: 220KB, 提交时间: 2019-08-03
#include<stdio.h> int main() { int i,j,n,max=0,arr[20]; char c; i=0; while (scanf("%d",arr+i)) { c=getchar(); i++; if(c=='\n') break; } n=i; // for(i=0;i<n;i++){ // printf("%d\t",arr[i]); // } for(i=0;i<n-1;i++){ for(j=i+1;j<n;j++){ if(arr[j]-arr[i]>max){ max=arr[j]-arr[i]; } } } printf("%d",max); return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 308KB, 提交时间: 2022-08-06
#include<stdio.h> int main() { int max_profit = 0; int curr_min_price; int curr_price; scanf("%d ", &curr_price); curr_min_price = curr_price; while(scanf("%d ", &curr_price) != EOF) { if (curr_price < curr_min_price) { curr_min_price = curr_price; } if (curr_price - curr_min_price > max_profit) { max_profit = curr_price - curr_min_price; } } printf("%d", max_profit); return 0; }