1. 判断奇偶数
- 考虑复数
- 问input有什么情况
- 考虑coding style 和 精简
i%2==1是平时判断奇数的常用方法,这个方法有个弊端就是当i为负数的时候,判断结果是错误的,因为在java中,%运算的结果和左操作数具有相同的符号。
改进的方法有两种
- i%2!=0,这样即使是负的奇数也可以正确的判断
- i&1!=0,奇数的最后一位总是1,这样和1的二进制格式向AND,结果一定是1,而正负位都被1二进制格式中的0 给AND掉了。在书中这是个推荐的方法
两个方法一样快,因为JVM会将方法一优化成方法二
2. reverse a LinkedList
- 问有没有环
- 问node怎么定义
3. leetcode 39. combination sum
- 可以重复吃?
- 有相同的价格吗?
- 顺序不同算作同一个组合吗?
generalized questions:
- input, output
- 说思路,可以问一下tc和sc
- coding
- test
面试高频题
Hashmap
- 设计一个hash function