你是一个由n个学生组成的小组的教练。第 i 名学生具有编程技能 ai。所有学生都有不同的编程技能。您希望将他们划分为小组,方法如下:
- 小组内没有两个学生和使得学生 i 和 学生 j 即 |ai - aj| = 1 即组内任意两名学生的技能之差严格地大于1
- 分出来的小组的数量尽可能的少
你是一个由n个学生组成的小组的教练。第 i 名学生具有编程技能 ai。所有学生都有不同的编程技能。您希望将他们划分为小组,方法如下:
第一行一个 T (1 <= 100) 代表有 T 组测试数据
查询的第一行包含一个整数 n (1 <= n <= 100) ,表示每组查询中学生的总数
查询的第二行包含 n 个整数 a1 a2 a3..... (1 <= ai <= 100,所有的 ai 都是不同的),其中ai 是第 i 个学生的编程技能。
对于每个查询输出一个答案,代表 n名学生最少分成多少组才能满足上述分组条件
4
4
2 10 1 20
2
3 6
5
2 3 4 99 100
1
42
2
1
2
1
在示例的第一个查询中,有 n=4个学生具有技能 a=[2,10,1,20] 。这里只有一个限制:第1 名和第 3名学生不能在同一个团队中(因为|a1-a3| = |2 - 1| = 1)。可以将他们分成两个小组:例如,学生 1,2 和 4在第一队,学生 3在第二队。