长度为n的数组初始全为0,每分钟数组元素的值都会自增1。
m次操作,每次选择一个区间,在自增的基础上额外增1
求m次操作后数组中奇数的个数
3,2,[1,2],[2,3]
2
第一分钟后 第一个数为2,第二个数为2,第三个数为1第二分钟后 第一个数为3,第二个数为4,第三个数为3,一共两个数为奇数,所以输出2
函数共包含四个参数第一个参数是一个int型参数n第二个参数是一个int型参数m第三个参数是一个共含有m个元素的vector<int>型参数l第四个参数是一个共含有m个元素的vector<int>型参数r
# 差分数组 class Solution: def oddnumber(self , n , m , l , r ): # write code here diff = [0] * (n + 1) for i in range(len(l)): diff[0] += 1 diff[-1] -= 1 diff[l[i] - 1] += 1 diff[r[i]] -= 1 ans = 0 t = 0 for i in range(len(diff) - 1): t += diff[i] if t & 1: ans += 1 return ans