微前端架构如何改变企业的开发模式与效率提升
648
2022-11-02
#yyds干货盘点# 解决名企真题:火眼金睛
1.简述:
描述
现在我们需要查出一些作弊的问答社区中的ID,作弊有两种:1.A回答了B的问题,同时B回答了A的问题。那么A和B都是作弊。2.作弊ID用户A和作弊ID用户B同时回答了C的问题,那么C也是作弊。已知每个用户的ID是一串数字,一个问题可能有多个人回答。
输入描述:
每组数据第一行为总问题数N(N小于等于200000),第二行开始每行一个问题,第一个数字为提问人ID,第二个数字为回答人数,后面则为所有回答人的ID。(ID均为0-1000000的整数)
输出描述:
第一行为作弊ID数量,第二行开始为从小到大的每行一个作弊ID。
示例1
输入:
31 1 22 1 13 2 1 2
输出:
31 2 3
2.代码实现:
import java.util.*;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNext()) { int N = in.nextInt();//问题数 int[] askId = new int[N];//提问人ID int[] ansNum = new int[N];//回答人的人数 int[][] map = new int[N + 1][N + 1]; for (int i = 0; i < N; i++) { askId[i] = in.nextInt(); ansNum[i] = in.nextInt(); for (int j = 0; j < ansNum[i]; j++) {//具体回答问题的人的ID int ansId = in.nextInt(); //map[i][j] = 1:j回答了i的问题。最后map长度为n,宽度为ansNum[i],每一行的宽度可能不一样 map[askId[i]][ansId] = 1; } } //判断是否作弊 List
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~