[day5] [LeetCode] [title134,376]

134. 加油站

一条环路上有N个加油站,其中第i个加油站有汽油gas[i] 升。

你有一辆油箱容量无限的的汽车,从 i 个加油站开往第 i+1 个加油站需要消耗汽油cost[i] 。你从其中的一个加油站出发,开始时油箱为空。

如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。

说明:

如果题目有解,该答案即为唯一答案。

输入数组均为非空数组,且长度相同。

输入数组中的元素均为非负数。

示例 1:

输入:gas  = [1,2,3,4,5]            cost = [3,4,5,1,2]

输出:          3

解释:  从 3 号加油站(索引为 3 处)出发,可获得 4 升汽油。此时油箱有 = 0 + 4 = 4 升汽油开往 4 号加油站,此时油箱有 4 - 1 + 5 = 8 升汽油开往 0 号加油站,此时油箱有 8 - 2 + 1 = 7 升汽油开往 1 号加油站,此时油箱有 7 - 3 + 2 = 6 升汽油开往 2 号加油站,此时油箱有 6 - 4 + 3 = 5 升汽油开往 3 号加油站,你需要消耗 5 升汽油,正好足够你返回到 3 号加油站。因此,3 可为起始索引。

示例 2:

输入:gas  = [2,3,4]                cost = [3,4,3]

输出:        -1

解释:  你不能从 0 号或 1 号加油站出发,因为没有足够的汽油可以让你行驶到下一个加油站。我们从 2 号加油站出发,可以获得 4 升汽油。 此时油箱有 = 0 + 4 = 4 升汽油开往 0 号加油站,此时油箱有 4 - 3 + 2 = 3 升汽油开往 1 号加油站,此时油箱有 3 - 3 + 3 = 3 升汽油你无法返回 2 号加油站,因为返程需要消耗 4 升汽油,但是你的油箱只有 3 升汽油。因此,无论怎样,你都不可能绕环路行驶一周。


加油站

收获:

这一题又吃了审题的亏,这个路是环路,就是它的方向只能是一个方向,只要确定起点,然后沿着当前方向绕一周就行了,再就是我审题不认真,把要求的起点当作了整个行驶下来路程了。以下就是我写的错误的代码,虽说错误,但是有多多少少让我学会了递归调用。当作经验把它记录下来。

错误的程序




376. 摆动序列

如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。

例如,[1,7,4,9,2,5]是一个摆动序列,因为差值(6,-3,5,-7,3)是正负交替出现的。相反,[1,4,7,2,5]和[1,7,4,5,5]不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。

给定一个整数序列,返回作为摆动序列的最长子序列的长度。 通过从原始序列中删除一些(也可以不删除)元素来获得子序列,剩下的元素保持其原始顺序。

示例:

输入:             [1,7,4,9,2,5]

输出:            6

解释:            整个序列就是一个摆动序列。

输入:           [1,17,5,10,13,15,10,5,16,8]

输出:           7

解释:           它的几个子序列满足摆动序列。其中一个是[1,17,10,13,10,16,8]。

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

输出:           2

进阶:

你能否用 O(n) 时间复杂度完成此题?

超时的程序(错误)


程序超时

这个程序不仅超时,而且也是个错误的程序。

造成超时的原因是while循环里面没有叠加的变量,导致程序陷入死循环,造成超时

为什么会错呢,因为删除的序列不仅是开头和结尾的,还有中间的,再就是这个题目所要求的是摆动序列最长子序列的长度


正确的程序

Part 1


Part 2

时间复杂度


时间复杂度

收获:

1. nums.reverse()     这个函数返回值为null,主要作用是将nums中的元素反转,要调用反转后的list,直接输入nums就可以直接使用

2.reversed(seq)

    参数 seq -- 要转换的序列,可以是 tuple, string, list 或 range。

    返回值   返回一个反转的迭代器。

3.浅拷贝,深拷贝,赋值和传地址

    alist = [1,2,3,4,5]

    c=copy.copy(alist)    浅拷贝

    d=copy.deepcopy(alist)  深拷贝  

    temp = alist                     传地址

    归纳:

        (1)直接赋值,只是传递对象的引用,原始列表改变,被赋值的temp也会做相同的改变

         (2)copy浅拷贝,没有拷贝子对象,所以原始数据改变,子对象会改变

         (3)深拷贝,包含对象里面的自对象的拷贝,所以原始对象的改变不会造成深拷贝里   任何子元素的改变

可以参考这个博主(毛豆)写的   https://www.cnblogs.com/xueli/p/4952063.html

4.  此题要求最长子序列,则需要从两个方面来比较,一个是从列表的头到尾开始遍历,另外一个从列表的尾到头开始遍历,取最长的子序列,即得到答案

5.  for i in range(len(nums))  ,由于在循环中,我需要删除元素,所以,i的值是需要在循环途中更改的,len(nums)也是动态的。但是这个for循环中的i值是不能在循环途中更改的,所以,用while替换。简而言之,静态循环用for ,动态循环用while.

6.此题的效率不高,可以考虑是否有别的更优的方案解决这个问题。

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

推荐阅读更多精彩内容

  • 行走在夜间,视线被整个黑夜遮挡,手中的老式铁皮电棒,一束昏黄的光,有限的射程,成了出门的必备工具。 岁末年根,李瘾...
    在故事里相遇阅读 782评论 0 0
  • 在职场身经百战好几年,辗转好几个行业,遇到过各种类型的老板。 有极其强势想要去改变世界的老板,在我刚毕业时遇到这样...
    Synrain阅读 368评论 0 0