leetcode 0121.best-time-to-buy-and-sell-stock

我的思路:

首先假设第一天肯定买进,然后从第二天开始看

情况一:如果第二天的价格低于第一天,那就以第二天的买价为准

以此类推

情况二:如果盈利天时,就开始计算之后每一天的差价,并记录最高价

每次发现有情况二发生,比较当前差价和上次计算差价,取其最大值

结论:8800ms 问题在情况2判断是 时间复杂度在o(n)级别

对比参考答案

发现盈利天时,将当天受益和当前最佳受益(初始值0,即平仓线)直接对比

如果当天收益更高,直接更新最佳受益计数

结论:60ms

总结:

条件一,找买入时机,条件二,找卖出时机

Python loop 心得

  1. input 默认接受的是字符格式 如果需要用来当作数字运算 需要转换成int格式
  2. 倒序沥遍list
    1. 在打印位置i的时候 改成(长度-i)
    2. 把选择沥遍的list,改成range(len,-1,-1)
      1. 即直接生成倒序的i
  3. print 字符串可以用逗号连接,不一定要concat“+”
  4. 正则表达式复习 no.15
  5. no33, 日期有没有更好的判定法
  6. 数字交换,常规解法是用个temp来暂存,python支持写‘一行’直接交换

News commitment 0408/2020

  1. Zoom said it has hired former Facebook security chief to improve privacy and security

https://www.reuters.com/article/us-zoom-video-commn-privacy/zoom-hires-former-facebook-security-chief-as-google-bans-desktop-app-idUSKBN21Q1TY?feedType=RSS&feedName=topNews

comment: It sounds like Zoom is going to repair its image and get more date quietly since Facebook is the leader in such field:)