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

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

标签:
面试

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

课程内容:

今天学习的内容包括:
3-15 -获取1-10000之前所有的对称数(回文数)-代码演示和单元测试——使用反转比较、头尾比较、生成翻转数获取所有的对称数。
3-16 -获取1-10000之前所有的对称数(回文数)-性能分析——操作数字性能最好,其次是字符串。

课程收获:

对称数

  • 求1-10000之间的所有对称数(回文)
  • 例如∶0,1,2,11,22,101,232,1221
思路1–使用数组反转、比较
  • 数字转换为字符串,再转换为数组
  • 数组reverse ,再join为字符串
  • 前后字符串进行对比
思路2-字符串头尾比较
  • 数字转换为字符串
  • 字符串头尾字符比较
  • (也可以用栈,像括号匹配,但要注意奇偶数)
思路3–生成翻转数
  • 使用%和Math.floor 生成反转数
  • 前后数字进行对比
  • (全程操作数字,没有字符串类型)
性能分析
  • 思路1–看似是O(n),但数组转换、操作都需要时间,所以慢
  • 思路2 vs思路3,操作数字更快(电脑原型就是计算器)
  • 思路2要用栈,不合适。因为栈也一般用数组实现,会慢
划重点
  • 尽量不要转换数据结构,尤其数组这种有序结构
  • 尽量不要用内置 API,如reverse ,不好识别复杂度
  • 数字操作最快,其次是字符串

今天的 学习了 获取1-10000之前所有的对称数(回文数),使用了三种方法,知道了数字操作最快,其次是字符串,数组及内置API操作等不建议。

下一步就是 学习 如何实现高效的英文单词前缀匹配。今天学习就先到这里吧。

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

https://img1.sycdn.imooc.com//635d2baa00016fbf25481371.jpg

https://img1.sycdn.imooc.com//635d2e6f0001773125331365.jpg

点击查看更多内容
TA 点赞

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

评论

作者其他优质文章

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

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消