网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

leetCode121.BestTimetoBuyandSellStock数组

121. Best Time to Buy and Sell Stock

10年积累的成都网站设计、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有珠晖免费网站建设让你可以放心的选择与我们合作。

Say you have an array for which the ith element is the price of a given stock on day i.

If you were only permitted to complete at most one transaction (ie, buy one and sell one share of the stock), design an algorithm to find the maximum profit.

Example 1:

Input: [7, 1, 5, 3, 6, 4]
Output: 5

max. difference = 6-1 = 5 (not 7-1 = 6, as selling price needs to be larger than buying price)

Example 2:

Input: [7, 6, 4, 3, 1]
Output: 0

In this case, no transaction is done, i.e. max profit = 0.

题目大意:

在一个数组中,用后面的元素减去前面的元素得到最大值,返回这个最大值。

思路:

可以使用双循环来出来,但是效率太低。没有通过。

采用记录当前之前的最小值,用当前值减去之前最小的值获得一个临时最大值,遍历整个数组,找到最大值。

代码如下:

class Solution {
public:
    int maxProfit(vector& prices) {
        if(prices.size() <= 1)
            return 0;
        int max = 0;
        int curMin = prices[0];
        
        for(int i = 1;i max)
                max = prices[i] - curMin;
            if(prices[i] < curMin)
                curMin = prices[i];
        }
        return max;
    }
};

2016-08-12 08:43:51


名称栏目:leetCode121.BestTimetoBuyandSellStock数组
本文链接:http://bjjierui.cn/article/gccjed.html

其他资讯