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

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

    样例

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

    class Solution { 

    public: 

        /**

         * @param prices: Given an integer array

         * @return: Maximum profit

         */ 

        int maxProfit(vector<int> &prices) { 

            // write your code here 

            int n = prices.size(); 

            if (n <= 1) return 0; 

            vector<int> trans; 

            for (int i = 1; i <= n; i++) 

                trans.push_back(prices[i] - prices[i-1]); 

            int imax = 0, res = 0; 

            for(int i = 0; i < n-1; i++){ 

                imax += trans[i]; 

                if (imax > res) res = imax; 

                else if(imax < 0) imax = 0; 

            } 

            return res; 

        } 

    };

  • 相关阅读:
    vue-nuxtjs
    mongodb4.0支持事务
    promisify,promisifyAll,promise.all实现原理
    nodejs, 阿里oss上传下载图片
    数据库备份与还原
    SQL 数据类型、约束、索引及视图
    数据库的查询
    数据库(增、删、改、查)
    数据库基础知识
    C#语言小结
  • 原文地址:https://www.cnblogs.com/GodZe/p/6749771.html
Copyright © 2011-2022 走看看