牛客网--字节跳动面试题--特征提取

博客说明

文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!

来源

链接:特征提取 来源:牛客网

题目

小明是一名算法工程师,同时也是一名铲屎官。某天,他突发奇想,想从猫咪的视频里挖掘一些猫咪的运动信息。为了提取运动信息,他需要从视频的每一帧提取“猫咪特征”。一个猫咪特征是一个两维的vector。如果x_1=x_2 and y_1=y_2,那么这俩是同一个特征。

因此,如果喵咪特征连续一致,可以认为喵咪在运动。也就是说,如果特征在持续帧里出现,那么它将构成特征运动。比如,特征在第2/3/4/7/8帧出现,那么该特征将形成两个特征运动2-3-4 和7-8。

现在,给定每一帧的特征,特征的数量可能不一样。小明期望能找到最长的特征运动。

输入描述:

第一行包含一个正整数N,代表测试用例的个数。

每个测试用例的第一行包含一个正整数M,代表视频的帧数。

接下来的M行,每行代表一帧。其中,第一个数字是该帧的特征个数,接下来的数字是在特征的取值;比如样例输入第三行里,2代表该帧有两个猫咪特征,<1,1>和<2,2>

所有用例的输入特征总数和<100000

N满足1≤N≤100000,M满足1≤M≤10000,一帧的特征个数满足 ≤ 10000。

特征取值均为非负整数。

输出描述:

对每一个测试用例,输出特征运动的长度作为一行

输入例子1:

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

输出例子1:

3

例子说明1:

特征<1,1>在连续的帧中连续出现3次,相比其他特征连续出现的次数大,所以输出3

思路

1、使用map,将遍历的得到的第一个坐标作为key存入map集合,在辅助map里面记录次坐标的次数

2、遍历所有的帧,比较最大的次数

代码

import java.util.HashMap;

import java.util.Scanner;

/**

* @author guizimo

* @date 2020/7/18 2:25 下午

*/

public class Main {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

int n = scanner.nextInt();

for (int i = 0; i < n; i++) {

HashMap map = new HashMap<>();

HashMap temp = new HashMap<>();

int m = scanner.nextInt();

int max = 1;

//遍历帧

for (int j = 0; j < m; j++) {

//清空辅助map

temp.clear();

int number = scanner.nextInt();

//遍历帧内的坐标

for (int k = 0; k < number; k++) {

int x = scanner.nextInt();

int y = scanner.nextInt();

//拼接key

String key = String.valueOf(x) + " " + String.valueOf(y);

temp.put(key,map.getOrDefault(key,0)+1);

max = Math.max(temp.get(key),max);

}

map.clear();

map.putAll(temp);

}

if (max <= 1) {

System.out.println(1);

}else {

System.out.println(max);

}

}

}

}

感谢

牛客网

字节跳动

以及勤劳的自己

关注公众号: 归子莫,获取更多的资料,还有更长的学习计划

字节跳动java笔试题目_牛客网--字节跳动面试题--特征提取相关推荐

  1. Java 笔试强训 牛客网选择编程题 01

    一.选择 1.单选 1.1.语法: public class Test3{public static void main(String[] args) {System.out.println(100 ...

  2. 牛客网 java刷题_牛客网刷题(纯java题型 1~30题)

    应该是先extend,然后implement class test extends A implements B { public static void main(String[] args) { ...

  3. java正则题_牛客网java编程题整理(不定期更新)

    文章目录 190516 - 调整数组顺序使奇数位于偶数前面 题目 我的代码 高赞代码(via:海天一色) 190517 - 链表中倒数第k个结点 题目 我的代码 高赞代码(via:渡不过己) 1905 ...

  4. 牛客网--字节跳动面试题--雀魂启动

    牛客网--字节跳动面试题--雀魂启动 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 来源 链接:雀魂启动 来源:牛客网 题目 ...

  5. 华为机试python编程题_牛客网华为机试题之Python解法

    牛客网华为机试题之Python解法 第1题 字符串最后一个单词的长度 a = input().split(" ") print(len(a[-1])) 第2题 计算字符个数 a = ...

  6. HJ6 质数因子_牛客网_华为机试题

    描述 功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 ) 数据范围: 输入描述: 输入一个整数 输出描述: 按照从小到大的顺序输出它 ...

  7. sql replace替换多个字符_牛客网数据库SQL实战详细剖析(4150)

    文章来源:大数据肌肉猿 作者:无精疯 这是一个系列文章,总共61题,分6期,有答案以及解题思路,并附上解题的一个思考过程.具体题目可参考牛客网的SQL实战模块:https://www.nowcoder ...

  8. sql not exists用法_牛客网数据库SQL实战详细剖析(5160)(更新完结)

    文章来源:大数据肌肉猿 作者:无精疯 这是一个系列文章,总共61题,分6期,有答案以及解题思路,并附上解题的一个思考过程. 具体题目可参考牛客网的SQL实战模块: https://www.nowcod ...

  9. 斐波那契数列前20项_牛客网 NC200607 A-解锁专家 斐波那契数列

    目录 目录 1. 题目描述 1.1. Limit 1.2. Problem Description 1.3. Input 1.4. Output 1.5. Sample Input 1.6. Samp ...

最新文章

  1. python 正则括号的使用及踩坑
  2. javascript函数作用域与闭包
  3. 进程间通信——匿名管道
  4. 《软件工程》第01章在线测试
  5. 文件服务器的配置与管理(2) 实现软RAID
  6. try { } catch{ } finally{ } 执行顺序总结
  7. 【渝粤教育】国家开放大学2018年春季 8126-21T制药工程 参考试题
  8. 一建机电实务教材电子版_2020一建教材+章节习题+新旧教材对比【全科】免费送...
  9. android各组件翻译,Android App框架指南(译文)
  10. 专业营销手段汇编及研究
  11. 浙大版c语言程序设计第三版答案
  12. oracle中求商函数,三个方便实用的Oracle分析函数
  13. Mysql主从同步及主从同步延迟解决方案
  14. SQL达梦数据库迁移
  15. linux sin()编译
  16. 掀开Dubbo的盖头来
  17. php格林威治时间,PHP默认时间是格林威治时间。
  18. [POI2008]Mirror Trap
  19. typora+PicGo-Core+smms上传图床
  20. Android APP安装后不在桌面显示图标的应用场景举例和实现方法

热门文章

  1. 三维地形制作软件 World Machine 基础入门学习教程
  2. 华为交换机系列异常流量抑制
  3. 云计算时代的数据库运行
  4. 一个在raw里面放着数据库文件的网上例子
  5. vue.js 源代码学习笔记 ----- 工具方法 lang
  6. 《Java 8 实战》(二)—— Lambda
  7. .net erp(办公oa)开发平台架构之流程服务概要介绍
  8. 12月3号条件控制语句和循环语句
  9. mysql 使用位运算
  10. 负载均衡工具haproxy安装,配置,使用