这道题就是一个简单的两个for循环的遍历,只不过我的思路狭窄了,在判断是否为连号区间时,我将区间里的元素进行了排序,之后时间复杂度到了n^3logn,而CPU的时间是3ms,超时了。于是,我在看到郑未老师的题解时,发现进行连号区间的判断只需要一个if就可以了,即几下区间里的最大值和最小值,然后将区间第一个和最后一个下标相减+1与最大值和最小值相减+1一比较久可以了,原理就是如果这个区间里面的元素是连续的那么可以用最大值减去最小值+1来算出元素有多少个。
代码如下:
【蓝桥杯2013C/C++B组省赛真题】——连号区间数
最新推荐文章于 2023-03-28 21:40:00 发布