leetcode推前算法和数据结构我使用现代JavaScript实现的各种算法。对我来说薄弱的话题:旋转矩阵 - CTCI - 1.8 - 发现这真的很难,字符串旋转 - CTCI - 1.9 - 解决方案出乎意料。各种摊销操作的运行时间 需要基数排序实现,回想一下跳转搜索算法以及它何时有用(在数组末尾未知时进行搜索)。需要外部排序实现 && 基于内存的问题和 2 - 10.6、10.7、10.8 的幂。Day-Stout-Warren算法(热平衡二叉搜索树) - 也应该了解更多关于 AVL 和 RB 树的知识。寻找BST问题集 - 在 leetcode 上很少,需要一个基于节点的 BST 实现来解决很多旋转问题。这些是我在处理算法类型问题时采取的步骤:

  1. 听问题

  2. 问题中给出了哪些细节-是否有任何细节使这个问题变得独特或非常精确-这些细节的含义是什么?

  3. 我将这些含义写下来,以便在解决问题时它们在我的脑海中

  4. 立即考虑哪些进一步的细节会影响您的解决方案-例如,如果检查字符串唯一性:大写是否重要

  5. 制作示例/测试用例如果问题没有