8.24中兴笔试
选择考了很多python...
编程题不会告诉你过了百分之多少。
1. 类似于两数之和,acm模式。
2. 核心模式。俄罗斯方块:找有正方形的左右边界l r。然后在l和r之间遍历数组,如果>0就减一,否则计数+1。直到l和r之间没有0。
class Solution { public int trap(int[] height) { int l = 0, r = height.length - 1; int res = 0; while (true) { while (l < height.length && height[l] == 0) { l++; } while (r >= 0 && height[r] == 0) { r--; } if (l >= r || l >= height.length || r < 0) { break; } int cnt = 0; for (int i = l; i <= r; i++) { if (height[i] > 0) { height[i]--; } else { res++; cnt++; } } if (cnt == 0) { break; } } return res; } }