1 条题解

  • 0
    @ 2026-1-14 20:07:41
    #include<bits/stdc++.h>
    using namespace std;
    int n,max_num=0;  // [1] n-需要数值化的对象数量,max_num-记录出现过的最大特征值(用于后续遍历统计)
    int arr[100100]={};  // [2] arr-统计每个特征值的出现次数,下标对应特征值,元素值对应出现次数(初始化为0)
    
    int main(){
    	cin>>n;  // [3] 输入需要数值化的对象数量n
    	while(n--){  // [4] 循环处理每个对象
    	    int t;
    	    cin>>t;  // [5] 读取当前对象的特征值数量t
    	    int m;
    	    for(int i=1;i<=t;i++){  // [6] 遍历当前对象的t个特征值
    	        cin>>m;  // [7] 读取当前特征值m
    	        max_num=max(max_num,m);  // [8] 更新最大特征值(确保后续遍历范围覆盖所有出现过的特征值)
    	        arr[m]++;  // [9] 对应特征值m的出现次数+1
    	    }
    	}
    	int max_t=0,max_s=0;  // [10] max_t-出现次数最多的特征值(并列取最大),max_s-对应的最大出现次数
    	// 遍历所有出现过的特征值,统计出现次数最多的特征值
    	for(int i=1;i<=max_num;i++){  
    	    // 若当前特征值出现次数≥已有最大次数,更新最大次数和对应特征值(次数相同时,大的特征值会覆盖小的)
    	    if(arr[i]>=max_s){
    	        max_s=arr[i];
    	        max_t=i;
    	    }
    	}
    	cout<<max_t<<endl<<max_s;  // [11] 输出出现次数最多的特征值、对应的出现次数
    	return 0;
    }
    
    • 1

    信息

    ID
    1450
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者