面试算法知识点总结

2. 算法面试的技术路线

2.1 算法面试中的数据结构

  • 基础数据类型
  • 数组与字符串
  • 链表
  • 堆栈
  • 二叉树
  • 哈希表

    2.2 算法的设计模式

  • 排序

  • 递归
  • 分而治之
  • 动态规划
  • 贪婪算法
  • 逐步改进
  • 排除法

    3. 基础数据类型的算法分析

    3.1 基础数据类型中二进制位的操作算法

    涉及到对基础数据类型二进制形式的位操作。
    但是对于这块的知识一直比较琐碎,今天就解决一下这块盲区。
    https://www.cnblogs.com/zzerx/p/15042367.html

给定一个整数数组A和整数M,问A中是否包含下表i,j使得M=A[i]+A[j]

遇到数组题目首先应该反应过来需要排序,可以将问题转换为 A[j] = M - A[i]
显然剩下的这个元素可以通过二分法来查找: