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;
        }
    
    }
  • 相关阅读:
    两排滚动js
    弹性布局
    channelartlist添加栏目链接
    首页调取二级、三级栏目
    dede完美分页样式
    如何安装sass
    首页分页(自由列表)
    tag标签调取
    25.简单的路由
    24.简单的自定义服务
  • 原文地址:https://www.cnblogs.com/sunssh/p/6522504.html
Copyright © 2011-2022 走看看