为了账号安全,请及时绑定邮箱和手机立即绑定

【金秋打卡】第2天 前端面试技能拼图1

标签:
面试

课程名称:2周刷完100道前端优质面试真题
课程章节:第3章 前端面试技能拼图1: 数据结构和算法(下),大厂面试必考
主讲老师:双越

课程内容:

今天学习的内容包括:
3-10 获取字符串中连续最多的字符以及次数-使用嵌套循环——使用跳步实现时间复杂度为O(n)。

课程收获:

字符串中连续最多的字符,以及次数
  • 如,输入‘abbcccddeeee1234’,计算得到:
  • 连续最多的字符是’e’,4次
传统思路
  • 嵌套循环,找出每个字符的连接次数,并记录
  • 看似时间复杂度是O(n^2)
  • 但实际时间复杂度是多少?———O(n),因为有“跳步”
if (tempLength > res.length) {
     res.char = str[i]
     res.length = tempLength
 }

 if (i < length - 1) {
     i = j - 1 // 跳步
 }
tips
  • 跳步感觉类似指针,实现结果跟指针是一样的,不过这个方法要比双指针容易理解的多
  • 跳步需要考虑到不能跳出字符串以外
  • 因为for循环是累加的,所以跳步需要 -1

今天的 学习了 使用嵌套循环加跳步 - 获取字符串中连续最多的字符以及次数,时间复杂度从O(n^2)成为O(n),提升非常明显。

下一步就是 学习 获取字符串中连续最多的字符以及次数-使用双指针。今天学习就先到这里吧。

坚持打卡,坚持学习,未来可期,加油😀~

https://img1.sycdn.imooc.com//63577f0d0001bbd524381352.jpg

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消