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
posted @ 2020-08-14 06:16  little_veggie  阅读(194)  评论(0)    收藏  举报