leetcode刷题, 总结 ,记录 ,备忘 121

原创 2015年07月06日 23:09:33

leetcode121

Best Time to Buy and Sell Stock

 

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.

这个问题我几天之前写还是写的不是很好,今天突然来了灵感。单次遍历数组,如果当前值比下一个值大,即跳过,临时变量temp先与max比较,讲最大值保存,然后temp变0,同时比较这个下一个值是否比之前保存的min值小,如果是替换,继续遍历,如果下一个值比当前值大,就一直遍历下去,并把两者的差值保存在temp中,当出现又一小值时,开始比较,替换各个变量。遍历结束玩还要再比较一次 。可能说的不是很清楚,先上代码。如果有什么疑问,欢迎大家留言讨论。毕竟我的文字描述水平略差,,,,再不济可以语音交流,谢谢。

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        if (prices.empty())
        return 0;
        int temp = 0, max = 0, min = *prices.begin();
        for (vector<int>::iterator it = prices.begin(); it != prices.end()-1; ++it)
        {
            if (*it > *(it+1))
            {
                if (temp > max)
                max = temp;
                temp =0;
                if (*(it+1) < min)
                min = *(it+1);
            }
            else
            temp = *(it+1) - min;
        }
        if (temp > max)
        max = temp;
        
        return max;
    }
};

因为在遍历的过程中,可能在之后也会出现更小值,所以需要替换,然后再进行temp的每次的计算,与max的比较。


版权声明:本文为博主原创文章,未经博主允许不得转载。

leetcode刷题,总结,记录,备忘 201

leetcode201Bitwise AND of Numbers Range Given a range [m, n] where 0 For example, given the rang...
  • guicaisa
  • guicaisa
  • 2016年04月24日 23:45
  • 264

leetcode刷题经验

语言不是最重要的,思想最重要从做上面的题,我发现我更擅长一些数学技巧不高的程序题,习惯靠直觉立马书写代码,而非严格推理之后,再书写代码对于链表的题比较擅长,链表可以在纸上画画,关键要考虑的问题,就是链...
  • basycia
  • basycia
  • 2016年02月28日 15:31
  • 1369

LeetCode刷题指南(一)

以下是我个人做题过程中的一些体会: 1. LeetCode的题库越来越大,截止到目前,已经有321个问题了。对于大多数人来说,没有时间也没有必要把所有题目都做一遍(时间充裕可以随意)。刷个100题左...
  • Lnho2015
  • Lnho2015
  • 2016年03月23日 15:02
  • 38143

[LeetCode刷题笔记] 关于LeetCode的前言

又到了一年毕业就业季了,三年前的校招季我逃避了,可这一次终于还是要轮到我了=_=||。 作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢? LeetCode收录了许多互联网...
  • tostq
  • tostq
  • 2016年07月22日 21:32
  • 2986

1.开始在leetCode中刷题的一些感受

最近项目上没有什么事情,鉴于自己的基础比较差,正好最近也开始学习了Python,就想在leetCode中使用Python语言刷刷题,加强一下自己的算法的能力,下面就来谈谈最近刷题的一些感受: 1、刚开...
  • changyuxiaoxiao
  • changyuxiaoxiao
  • 2015年11月27日 17:06
  • 2496

LeetCode刷题系列

LeetCode我们工作面试和提高自身数据结构和算法能力的时候往往需要刷刷题,我选择LeetCode是通过一个留学论坛了解的。专业,覆盖语种全面。提前说说刷题的心得: 尽量手写代码,少使用IDE的代码...
  • zxccxzzxz
  • zxccxzzxz
  • 2016年09月13日 00:47
  • 2981

leetcode刷题,总结,记录,备忘 312

leetcode312Burst Balloons Given n balloons, indexed from 0 to n-1. Each balloon is painted with a...
  • guicaisa
  • guicaisa
  • 2016年01月11日 19:48
  • 575

leetcode刷题,总结,记录,备忘 313

leetcode313Super Ugly Number Write a program to find the nth super ugly number. Super ugly n...
  • guicaisa
  • guicaisa
  • 2016年02月22日 23:41
  • 254

leetcode刷题,总结,记录,备忘 260

leetcode260 Single Number III   Given an array of numbers nums, in which exactly two elem...
  • guicaisa
  • guicaisa
  • 2015年09月04日 23:16
  • 221

leetcode刷题,总结,记录,备忘 19

leetcode19Remove Nth Node From End of List Given a linked list, remove the nth node from the en...
  • guicaisa
  • guicaisa
  • 2016年08月08日 23:22
  • 380
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode刷题, 总结 ,记录 ,备忘 121
举报原因:
原因补充:

(最多只允许输入30个字)