[day4] [LeetCode] [title14,122]

14.最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串""。

示例 1:

输入:        ["flower","flow","flight"]

输出:        "fl"

示例 2:

输入:          ["dog","racecar","car"]

输出:          ""

解释:        输入不存在公共前缀。

说明:        所有输入只包含小写字母a-z。


最长公共前缀

本来以为很简单的题,还是做了很长时间,很多情况都没有充分考虑,最大的问题就是数组越界问题

122. 买卖股票的最佳时机 II

给定一个数组,它的第i个元素是一支给定股票第i天的价格。

设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。

注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。

示例 1:

输入:              [7,1,5,3,6,4]

输出:            7

解释:            在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。    随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6-3 = 3 。

示例 2:

输入:              [1,2,3,4,5]

输出:              4

解释:在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。    注意你不能在第 1 天和第 2 天接连购买股票,之后再将它们卖出。    因为这样属于同时参与了多笔交易,你必须在再次购买前出售掉之前的股票。

示例 3:

输入:              [7,6,4,3,1]

输出:              0

解释:              在这种情况下, 没有交易完成, 所以最大利润为 0。

方法一、暴力求解


Part 1


Part 2


方法一的时间复杂度

收获:

1.判断条件中,要充分利用短路来做题,第22,28,38,47行都是用这个条件,如果将两个条件调换位置,则会出现数组越界。

2.剔除数组中连续的重复元素,用del 来删除其中的重复元素,删除后,后面的元素会自动补齐,第14~19行是实现过程。



方法二.贪心算法


122. 买卖股票的最佳时机 II
方法二的时间复杂度

收获:

方法二跳过了寻找极值的这个方法(方法一),而是采用局部最大化,将局部利润相加,就是在一个时间段获得的最大的利润。

贪心算法采用局部最优解就是整体最优解来解决问题

具体实现是只用考虑列表中递增子序列,用子序列中的最后一个元素减去第一个元素,得到每一次购买到抛售的过程(最优子结构),然后找到列表中所有的最优子结构,将所有最优子结构累加即为问题的整体最优解。(第18~24行是最优子结构表达式)

此问题在刚刚做的时候,用了两个while循环,运行在leetcode中显示超时,于是直接continue不符合子结构的过程,大大减少了运行时间。(第15~16行)

从时间复杂度表中可以看出,采用贪心算法后,效率大大提高了,从吊车尾华丽丽转身为top了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,287评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,346评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,277评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,132评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,147评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,106评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,019评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,862评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,301评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,521评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,682评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,405评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,996评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,651评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,803评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,674评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,563评论 2 352

推荐阅读更多精彩内容

  • 鸡汤文盛行的年代,情绪低落了,上网搜一搜心灵鸡汤,心情不好没有动力了,找鸡汤补一补……鸡汤有用吗?有的。 总有那么...
    程子川zf阅读 472评论 0 0
  • 一转三个月已经过去了,这三个月里,我基本上每天都坚持练习。这三个月里,我的情绪起伏多变,很多时候都负能量爆棚,总感...
    楚宛阅读 435评论 2 0
  • 据最新能统计到的UI设计师招聘量,中国共有40多万的职位缺口。而随着人们对互联网产品用户体验度的提升,明年的UI更...
    Shirleychen203阅读 407评论 0 0