前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每天带你刷leetcode

每天带你刷leetcode

作者头像
我去热饭
发布2022-05-19 14:56:50
1460
发布2022-05-19 14:56:50
举报
文章被收录于专栏:测试开发干货

!! hello观众老爷们大家好,又到了我欺负算法题的时刻了。今天我准备继续欺负剩下的未做题

打开leetcode:看到这俩道:

进入第一道:

我来翻译下:就是判断这个字符串,是不是26个小写字母都至少出现过一次,就这还特么叫什么全字母句,我!

好了,判断的话,我们上来先判下长度,低于26个通通返回false

然后如果能通过这层校验,那么说明正好或超过26个长度,所以我们来个遍历正牌26字母字符串 判断每个字母在sentence是不是都出现过即可。所以我们可以自己写也可以引入 标准的26个小写字母列表:(这里有三种办法,自己手写26小写字母的字符串,或者用string库直接引入,或者用ascii码 [chr(i) for i in range(97, 123)]) 都可以:

直接提交,胆子就是大

果然一遍过,其实这个还可以继续优化,比如每判断完一个字母,就给sentence中删除掉这个字母,这样越判断的长度就越小越快,但是删除这部操作本身也需要消耗时间。

不多说了,赶紧下一道吧~

这题一看啊,其实并不太绕,就是说,给这个列表的元素 各种自加1,使其变成一个递增列表。问到底要加多少个1?我的思路很简单,就是遍历这个列表,看看有没有 后面数 不比前面数大的情况,一旦出现,则给这个后面数加上他们的差+1 ,就大了一点了,然后把加的这个量 记录积攒起来,直到遍历结束,看看最终需要多少才能让所有的数都递增排列:

1.先准备好 记录者 res 和 循环体:

我们从第二个数开始循环,让它和第一个数比较这样:

直接提交,就是这么自信:

哎呀,一不小心,又一次性通过。

!! 怎么样?你学废了么?

好了,今天分享到此结束,感谢大家观看。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发干货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档