Concatenation of Array
这题没啥可说的吧..
这题没啥可说的吧..
给一个string, 问能不能分解成n个substring, 这些substring由一个长度为2和n个长度为3的连续相同字母组成. 看着很复杂, 其实就是计数一下, 然后每次有新的char的时候, 看mod 3以后是不是能整除. 如果mod后是0, 那么就忽略, mod后是2, 就看是不是唯一的2. 因为必须有1个长度为2的子字符串, 所以最后要检查一下.
A. Shortest Path with Obstacle B. Alphabetical Strings C. Pair Programming D. Co-growing Sequence D的题意是通过下面的图推出来的
给两个个数字A,B. 求是否通过同时增加两个数或者同时减少两个数, 得到最大的gcd. 如果能, 需要同时加.减几? 典型的求gcd缺和gcd无关的题, 因为同增加/减少, 所以差值一样, 所以gcd最大就是差值, 因为gcd(0,max(A,B))最大. 然后几步嘛, 就是求比较小的数到差值的倍数的大小, 求余即可.
给一个字符串, *代表羊, .代表空位, 求怎么移动能让羊排成一列. 这题是acwing的那个模板题的衍生, 要先找到中间羊, 然后找到它的位置, 然后平移(坐标 – 第几个), 求和即可.
给一个数组, 求有多少对数, 里面的数字差等于index差. 数字差= index差, 可以转化成, 数字与index的差等于另一个数字与index的差. 所以用set找即可. 注意问的是多少对pair, 最后要乘起来后/2
给数字n, 求一个n x n的矩阵, 每两个相邻个子的大小之差不能是1. 先放单数1 3 5 7, 再放2 4 6 8 即可.
给一个整数n, 问[1,n]的区间中有多少个digit全部相同的数字. 这题就看一下啥时候想通, 1到9有9个, 然后11到99有9个, 111到999有9个…所以看出来是和1的个数与最高项的比有关.
给一个string, 问是不是有重复出现过的不连续的char. 用set直接解决即可.