【面经】手撕代码系列

文章目录

  • 手撕代码面试题汇总
    • 1. 必备技能
    • 2.面试中问到的问题
    • 3.剑指offer或者leetcode常见题

手撕代码面试题汇总

1. 必备技能

  • 《剑指offer》66题
  • leetcode medium难度,越多越好

 

2.面试中问到的问题

  • 求n个数里面前k个最大的数(除了快排,考虑其他方法)
  • 给定两个字符串a和b(长度超过100w),在字符类型上b是a的子集,求b在a字符类型上的补集;
  • 给定正整数N, 返回小于等于N且至少有一位重复数字的正整数的个数;
  • 电话号码组合。下图是一个手机按键的样例,每一个数字包含一些字母。比如字母“A”可以通过按一次“2”得到,字母“B”可以通过按两次“2”得到,以此类推。当给定一个数字字符串,我们也可以得到相应的映射,比如“22”, 代表字母组成的可能性是[“AA”, “B”]。要求:输入为一个数字字符串,例如”2321241499844211”。输出为可能代表的所有字母组合。
  • 给定两矩形的左上角和右下角坐标,求两矩形的重叠区域面积(overlap),若不重叠,返回0。(其实就是计算IOU)。
  • 清除32位整数的指定位。
  • (智力题)共有36颗棋子,两个人轮流拿棋子,每次只能拿1,2,4颗棋子,拿到最后一颗的输掉。请问先拿棋子的人能否保证一定能赢(高通笔试)
  • 猫抓老鼠,猫速度V,老鼠速度V/4。猫在圆周上运动,只能在圆周上运动,但可以随时改变方向。老鼠在圆心,可以在任意范围内运动,问老鼠以什么路径能逃出这个圆(高通笔试)
  • 现在有包含很多个样本数据的数组,现在对这些数进行多次有放回采样,但每个数都有自己的采样概率,这个概率存在另外一个数组里面,总概率是1,问怎么实现这个采样过程。(常数时间解法)
  • 一个圆形的时钟,一个点从12点出发,每秒可以顺时针走一步也可以逆时针走一步,问N秒后回到12点有多少种走法 (回溯法)

 

3.剑指offer或者leetcode常见题

  1. 二叉树前序遍历,中序遍历(递归非递归),重建二叉树
  2. 判断二叉树结构是否相同
  3. 找出一颗完全二叉树最后一个节点,时间复杂度要求 logN的平方

你可能感兴趣的:(笔试面试)