竞赛
考级
T5 思路分析 本题很显然当区间长度是奇数的时候,无法满足条件。当区间长度为偶数的时候,只有整个数组中 −1-1−1 和 111 的出现次数都至少要是 len/2len / 2len/2 才能满足条件,其中 lenlenlen 是区间长度。 代码
作者第一眼就觉得一定不是暴力。 有一个很明显的点,a[i] 不是 -1 就是 1,要求加起来是 0,那么,这两种数的个数一定是一样的,总数是 2n 个,这里 n 指的是 -1 的个数(也可以是 1 的个数)。这个总数一定是个偶数。 所以,如果选中数字的数量是个奇数,那么一定是"sad"。 刚才说过,只有这两种数的个数足够使他们一样,才是"happy",否则就是"sad"。 这代码不就出来了? Python Code: 代码中的注释是作者调试的时候用的,不影响整体代码。
提交答案之后,这里将显示提交结果~