买卖股票的最佳时机

来源:互联网 发布:人工智能四大平台 垄断 编辑:程序博客网 时间:2024/04/28 08:27
假设有一个数组,它的第i个元素是一支给定的股票在第i天的价格。如果你最多只允许完成一次交易(例如,一次买卖股票),设计一个算法来找出最大利润。
样例

给出一个数组样例 [3,2,3,1,2], 返回 1 


import java.util.Scanner;/** * 假设有一个数组,它的第i个元素是一支给定的股票在第i天的价格。如果你最多只允许完成一次交易(例如,一次买卖股票),设计一个算法来找出最大利润。样例给出一个数组样例 [3,2,3,1,2], 返回 1  * @author Dell * */public class Test149 { public static int maxProfit(int[] prices) {        int max=0; for(int i=0;i<prices.length;i++) {       int sum=0; for(int j=i+1;j<prices.length;j++) { if(prices[j]-prices[i]>sum) { sum=prices[j]-prices[i]; }  } if(max<sum) max=sum;  } return max; }public static void main(String[] args) {Scanner sc=new Scanner(System.in);int n=sc.nextInt();int[] a=new int[n];for(int i=0;i<a.length;i++){a[i]=sc.nextInt();}System.out.println(maxProfit(a));}}


原创粉丝点击