mirror of
https://github.com/yangshun/tech-interview-handbook.git
synced 2026-04-27 20:13:10 +08:00
website: launch website
This commit is contained in:
@@ -3,6 +3,33 @@ id: math
|
||||
title: Math
|
||||
---
|
||||
|
||||
## Notes
|
||||
|
||||
If code involves division or modulo, remember to check for division or modulo by 0 case.
|
||||
|
||||
When a question involves "a multiple of a number", perhaps modulo might be useful.
|
||||
|
||||
Check for and handle overflow/underflow if you are using a typed language like Java and C++. At the very least, mention that overflow/underflow is possible and ask whether you need to handle it.
|
||||
|
||||
Consider negative numbers and floating point numbers. This may sound obvious, but under interview pressure, many obvious cases go unnoticed.
|
||||
|
||||
If the question asks to implement an operator such as power, squareroot or division and want it to be faster than O(n), binary search is usually the approach to go.
|
||||
|
||||
#### Some common formulas:
|
||||
|
||||
- Sum of 1 to N = (n+1) \* n/2
|
||||
- Sum of GP = 2<sup>0</sup> + 2<sup>1</sup> + 2<sup>2</sup> + 2<sup>3</sup> + ... 2<sup>n</sup> = 2<sup>n+1</sup> - 1
|
||||
- Permutations of N = N! / (N-K)!
|
||||
- Combinations of N = N! / (K! \* (N-K)!)
|
||||
|
||||
## Recommended Leetcode questions
|
||||
|
||||
- [Pow(x, n)](https://leetcode.com/problems/powx-n/)
|
||||
- [Sqrt(x)](https://leetcode.com/problems/sqrtx/)
|
||||
- [Integer to English Words](https://leetcode.com/problems/integer-to-english-words/)
|
||||
|
||||
## More questions
|
||||
|
||||
- Create a square root function.
|
||||
- Given a string such as "123" or "67", write a function to output the number represented by the string without using casting.
|
||||
- Make a program that can print out the text form of numbers from 1 - 1000 (ex. 20 is "twenty", 105 is "one hundred and five").
|
||||
|
||||
Reference in New Issue
Block a user