1010. 总持续时间可被 60 整除的歌曲

int numPairsDivisibleBy60(vector<int>& time)
{
	map<int, int> mii;
	int index = 0;
	for (int i : time)
	{
		i %= 60;
		if (i != 0)index += mii[60 - i];
		else index += mii[0];
		mii[i]++;
	}
	return index;
}

思路:有点像两数之和。需要搞清楚的一点是,题目只需要统计相加等于60的倍数的数字对的数量即可。所以可以把数组中的每一项对60取余,从i开始,之后统计i之前相加等于60的数量即可。有个小坑,当正好为60的时候,也就是取余结果是0的时候,需要统计0的个数。

发布了175 篇原创文章 · 获赞 9 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43461641/article/details/103698380