Minimum Operations to Make Array Equal
给一个只有奇数的从1开始的递增数组, 给一个operation, 可以让后边的数字变大1前边的数字变小1. 求多少个operation后, 可以让数组的数字全部相等. 这个题就是观察一下, 比如数字第一个数字肯定是1, 那么最后一个数字是2*(n – 1) + 1 = 2*n – 1; 然后一次变换只能加减1, 那么就求差然后除2即可.
给一个只有奇数的从1开始的递增数组, 给一个operation, 可以让后边的数字变大1前边的数字变小1. 求多少个operation后, 可以让数组的数字全部相等. 这个题就是观察一下, 比如数字第一个数字肯定是1, 那么最后一个数字是2*(n – 1) + 1 = 2*n – 1; 然后一次变换只能加减1, 那么就求差然后除2即可.
给一个数组, 找到有多少组的i,j,k使得ary[i] < ary[j] < ary[k]. 这题就o(n^2)的查找就能过.
给一个string, 里面是括号, 求最少添加几个括号, 让string valid. 用stack跟踪string的左括号. 最后stack的大小就是答案
给一个String, 问里面多少个substring只有一个不同的字符. 首先一个string, 比如aaaaa, 那么里面的只有一个不同字符的是n*(n+1) / 2个子string. 然后找就行了.
给一个数组, 让简单的变化一下.
给一个2d数组, 里面是数字是当前坐标的叠着的正方体数, 求一共多少个面. 这个题就是弄清楚两个正方体分享一个面, 所以计算的时候要先比较相邻正方体的高矮, 然后减去矮的部分共享的面数即可. 然后数组值可能为0(没有正方体)