zoukankan      html  css  js  c++  java
  • 买卖股票的最佳时机

    题目:

    买卖股票的最佳时机

    描述:假设有一个数组,它的第i个元素是一支给定的股票在第i天的价格。如果你最多只允许完成一次交易(例如,一次买卖股票),设计一个算法来找出最大利润。

    样例

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

    思考:

    我认为买卖股票的最佳时机是以最低的价格买入,以最高的价格抛出。所以是求最大差值(但是这样的理解好像有误区)

    源码:

    方式一:

    package day01;
    
    public class maxProfit {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int arr []={3,2,3,1,2};
            System.out.println(maxProfit(arr));
    
        }
        public static  int maxProfit(int [] prices) {  
                     // write your code here  
                     int i, d,j;  
                     int max = 0;  
                     for(i = 0; i < prices.length-1; i++)
                     for (j=1;j<prices.length;j++){  
                         d = prices[j] - prices[i];  
                         if(d > 0&d>max){  
                             max=d;  
                         }  
                     }  
                    return max;  
                 }  
    
    
    }

    方式二:

    package day01;
    
    import java.util.Arrays;
    
    public class maxProfit_ {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int arr []={3,2,3,1,2};
            System.out.println(maxProfit(arr));
    
        }
        public static  int maxProfit(int [] prices) 
        {
            int i=0,max=0;
            Arrays.sort(prices);
            max=prices[prices.length-1]-prices[0];
            return max;
        }
    
    }
  • 相关阅读:
    牛顿插值法及其C++实现
    见鬼吧,拉格朗日插值法
    迭代法与开根号求值(letcode 69)
    多项式计算之秦九韶算法
    (扩展根目录容量方法汇总)把Linux系统迁移到另一个分区或者硬盘
    jdk 动态代理源码分析
    python 随笔
    java 笔记
    enum(枚举类型)
    提高工作效率的准则
  • 原文地址:https://www.cnblogs.com/sunssh/p/6522504.html
Copyright © 2011-2022 走看看