1. 输入描述
第一行包含一个正整数N,代表测试用例的个数。
每个测试用例的第一行包含一个正整数M,代表视频的帧数。
接下来的M行,每行代表一帧,给定每一帧的特征,特征的数量可能不一样。其中,第一个数字是该帧的特征个数,接下来的数字是该特征的取值;比如样例输入:
1
8
2 1 1 2 2
2 1 1 1 4
2 1 1 2 2
2 2 2 1 4
0
0
1 1 1
1 1 1
第三行中的2代表该帧有两个特征,<1,1>和<2,2>
所有用例的输入特征总数和<100000
N满足1≤N≤100000,M满足1≤M≤10000,一帧的特征个数满足 ≤ 10000。
特征取值均为非负整数。
2. 输出描述
对于特征vector<x, y>,如果x_1=x_2 and y_1=y_2,那么这俩是同一个特征。
特征运动的长度的定义为,连续出现在帧中次数最多的特征出现的次数
对每一个测试用例,输出特征运动的长度作为一行
比如上述样例输入的输出为:
3
特征<1,1>在连续的帧中连续出现3次,相比其他特征连续出现的次数大,所以输出3
3. 思路描述
遍历每一帧,并且将每一个<特征值,特征的连续出现次数>存储在HashMap中,并且在每次遍历最后比较最大连续次数,在遍历完后将最大的结果输出
4. 代码实现
import java.util.Scanner;
import java.util.HashMap;
public class Main{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);