codetalks-new / notes

About me
4 stars 0 forks source link

ARTS 第三周打卡笔记 #5

Open codetalks-new opened 5 years ago

codetalks-new commented 5 years ago

Algorithm

今天周竞赛顺利完成一道中等难度的题,工作日也抽空做了几题。 见 :https://github.com/banxi1988/leetcode-qa/commits/master

Review

Google Interview Questions Deconstructed: The Knight’s Dialer 这个 Google 的面试官对其创造的骑士拨号器问题的分析讲解,及有关面试的经验分享。 总结如下:

  1. 先解决一个简单的最小问题,动手分析,最后拿直笔,写写画画,找找灵感,加以分析总结。
  2. 算法中注意减少不必要的计算。
  3. 理解递归,虽然在产品代码中,一般不使用递归。但是递归是绝好的算法设计策略,同时递归算法也能很好的修改成更好的算法。
  4. 不停的尝试寻找 memoize 的机会以减少重复计算。
  5. 找出或者写出调用关系,这样可以方便找出递推关系。

我看了此文之后才算是完全理解了 骑士拨号器的DP解法的。强烈推荐。

Tips

grep -v 通常我们都经常使用 grep 命令来找出包含某一个字符串,或者正则表达式的内容的行。 通过 grep -v 则可以排除包含指定字符串或者正则表达式内容的行。 我使用此命令选项用来在查找分析日志时,过滤掉一些常规的心跳日志。

Share

本周分享我的一个项目: https://github.com/banxi1988/nodb 我本意是想通过 Node + TypeScript 实现一个简单的 Node 版本 SQLite 数据库。 目前仅仅开始实现单表的内存数据管理。 我想通过实现一个简单的数据库来理解 数据库的查找,索引等工作基本原理,还有比如 WAL,B+树等数据结构,不过目前仅仅是开始。