【第一天 - Leetcode 介绍】

Q1. 什麽是 Leetcode ?

  • Leetcode 是一个线上练程序网站,收集了许多软件工程师面试考古题
  • 许多软件公司在面试时会给你题目,让你思考如何解决,并在一个白板上进行讲解
  • 所以在解 Leetcode 的时候,建议除了刷题,也能把逻辑厘清,能用以画图的方式讲解给其他人听

Q2. 为什麽要刷 Leetcode ?

  • 刷 Leetcode 可以训练演算法、锻链逻辑能力,强迫自己用有限的成本完成任务
  • 一个好的工程师,撰写程序会考虑到「成本」,不论是执行效率、执行所需要的记忆体空间
  • 相信你也不会想,Google 搜寻一个关键字,结果他跑个一小时才显示出来吧 ? 现代人时常使用 Google 查询资料,而背後有数兆笔网页,如何塞选出你所需要的关键字呢 ? Google 搜寻引擎背後有一系列演算法, 并且在过滤搜寻结果时会考量许多因素,例如查询的字词、网页的关联性和实用性、资讯来源的专业度、内容的新鲜度,以及您的所在位置和设定等。
  • 顺带一提,Google 搜寻也提供许多搜寻技巧,例如指定路径、档案类型,网路也能搜寻到许多 「Google Hacking」 的文章与书籍

Q3. Leetcode 优点 ?

  • 题目来自企业大公司的真实面试题
  • 写完程序有效率排行榜,可以看到执行成本比你的低的程序 (可以分别看到执行效率排行、执行所需记忆体排行),这个是最吸引我的优点
  • 若购买 Premium ,你可以针对 Google、Microsoft,、Facebook、Apple 公司面试考古题进行刷题

Q4. Leetcode 注意事项 ?

  • 题目都会限制执行时间,思考题目解法的时候,可以先计算时间复杂度来看是否可行
  • 题目须注意边界问题,例如题目的特殊情况、极小值、极大值的情况 (写题目就会知道了)

Q5. 本系列文章要做什麽 ?

  • 本系列将尽量以简浅易懂的方式,介绍以下企业常考的14种概念/演算法 + 使用 python 刷 Leetcode 并进行程序分析 (至少刷一题 easy 题)
    • Stack
    • Queue
    • Bubble Sort
    • Quick Sort
    • Two Pointers
    • recursion
    • Linked List
    • Dynamic Programming
    • Binary Tree
    • Graph
    • DFS
    • Floyd-Warshall
    • Dijkstra
    • 系统设计

<<:  [Day 1] Google Data Analytics Professional Certificate 介绍

>>:  [Day 1] Hack一下,Text文字讯息

Day15 测试写起乃 - Devise login user

在开始写测试的时候因为许多 action 进入前都必须要先登入使用者才能有权限做其他事情,但在测试该...

# Day 29 Page Migration (四)

文件 原文文件:Page migration 翻译: 监控迁移 ======== 下列事件 (计数器...

Day16颜色(CSS)

Color 今天来介绍如何选择CSS的颜色 常用的方法种共有三种方式 我会将重点简述一下哦 RGB ...

Day 29. F2E-完善过渡动画

昨天後来在看效果时,有发现过渡动画的元素已经完全超出卡片组件的范围了,这个不是我们想要的效果 理想...

Day 8 边缘暗角效果 ( 镜头晕影 )

边缘暗角效果 ( 镜头晕影 ) 教学原文参考:边缘暗角效果 ( 镜头晕影 ) 这篇文章会介绍使用 G...