leetcode 150 java面试准备-算法为前端工作面试的算法部分做准备的资源。寻找解决方案的方法把面试当作一个协作会议,把整个过程当作解决工作中的问题。最重要的是说出来,让面试官知道你的思考过程。使用这些步骤。

理解问题

确保您与面试官在期望上保持同步。验证您可能有的任何假设。什么是预期行为?输入是什么?(数据结构、单位等)输出是什么?任何特殊考虑(算法应该稳定吗?)。如果您不知道某个术语的公式或定义,请询问。

约束

确定测试用例/条件。根据问题,考虑标准情况和边界情况。

  • 失败案例:预期的解决方案不存在

  • 多样性:变化很大的值或所有值都相同

  • 元素数量:小或非常大的集合

  • 空条件

  • 重复条件

  • 边界条件

设计解决方案

画出设计草图。如果您知道有更优雅的解决方案,但您只知道如何使用蛮力方法,请承认这一点。

  • 观察:任何观察,例如,最多一个字母可以在回文中出现奇数次

  • 算法:能够分步描述算法

  • 代码:用伪代码勾勒出解决方案

  • 复杂性:能够描述解决方案的复杂性。