[字节跳动编程题]特征提取

该编程题目要求处理输入的测试用例,每个用例包含多个视频帧,每个帧有不同数量的特征。特征由一对数值表示,如<1, 1>。任务是计算特征连续出现的最大次数,即特征运动的长度。解决方案是遍历所有帧,使用HashMap存储特征及其连续出现次数,并在遍历过程中更新最大连续次数。最后,对每个测试用例输出最大连续出现次数。" 51853851,5143919,iOS9 Contacts Framework深度解析:添加、获取及UI操作,"['iOS开发', 'CNContact', '通讯录', 'UI框架']
摘要由CSDN通过智能技术生成

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);
        
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值