VMware OA
1. 高效运输
- 输入:产品i有boxes[i]箱, 每箱装unitsPerBox[i]个,卡车最多装truckSize箱
- 输出:一车能运的max units
- Greedy, 用map扫一遍。
2. 快乐字母异位词
- 输入:a list of strings
- 输出:如果cur是之前某个str的anagram,把str删了,最后要ascending order
- Counting sort存hashmap
3. 修改数组
- 输入:一个int array
- 输出:使得原array变成non-decreasing或者non-increasing的最小cost。把一个数a修改到b的cost是abs(a-b)
- DP
4. 最少硬币
- 输入:a string in a-z,每个字母代表一种硬币
- 输出:包含所有硬币种类的最短substring的长度
- minimum window substring
5. 智能子串
- 输入:一个string, 一个bit string charValue,charValue[i] == 1 if alphabet[i] special or 0 if normal for i in range(26), 一个int k, 一个substr里最多能有k个normal chars
- 输出:至多拥有k个normal chars的最长substr的长度
- sliding window
6. 匹配括号
- 输入:string包含左左右右括号, int k
- 输出:能否在k次操作(右括号替换成一对儿)内使string平衡
- stack
7. 打破回文串
- 输入:一个回文串
- 输出:改动一个字符成为的非回文串,且是字典序最小的,不行的话返回不行
- 把左半边第一个不是'a'的字符改成'a'
8. 删删子序列
- 输入:一个array
- 输出:一个单调递增的子序列,删了它之后原数组没有重复元素
- 找到所有重复出现的数,排序,检查是否是个子序列,这个子序列也可以为空
9. 偶数子数组
- 输入:一个int array,一个int k,一个子数组里面最多能出现k个奇数
- 输出:不同的符合条件的子数组的个数
- sliding window
10. 创建子序列
- 输入:一个int string?
- 输出:所有子序列
- DFS

浙公网安备 33010602011771号