问题描述:
舞会收到很多假票。要求编写程序,统计所有门票中存在假票的门票数。
输入:
输入文件中包含多个测试数据。每个测试数据占两行。
第1行为两个整数N和M,分别表示发放门票的张数和参加晚会的人数(1 <= N <= 10000 , 1 <= M <= 20000)。
第2行为M个整数Ti,为收到的M张门票的号码(1 <= Ti <= N)。
最后一个输入N = M = 0代表输入结束。
输出:
对每个输入测试数据,你的程序要输出一行,为一个整数,表示有多少张票被伪造过。
示例:
输入:
5 5 3 3 1 2 4 6 10 6 1 3 6 6 4 2 3 1 2 0 0
输出:
1 4
思路:
题目本质是找数组中有几种重复数据的问题,因此只需要在常规的“判断数据重复”结构上加一次和之前已经记录过的重复数据的比对就好了
解法:
创建数组b用于记录重复的数字,遍历数组,判断当前数字与数组中的其他数字是否重复,如果重复,再判断是否和数组b中已经记录过的重复数字重复,如果不重复则将当前数字存入数组b同时将重复数字变量加1
具体代码实现:
import java.util.Scanner;
public class Main
{
public static void main(