蓝桥杯 错误票据问题(Java解法)

题目

在这里插入图片描述

本人完整通过的代码参考

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {
    
    
	private static List<Integer> ids = new ArrayList<Integer>();

	public static void main(String[] args) {
    
    
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		sc.nextLine();
		int i = 0;
		while (sc.hasNextLine()) {
    
    
			String[] temp = sc.nextLine().trim().replaceAll("\\s+", ",").split(",");
			for (String id : temp) {
    
    
				ids.add(Integer.parseInt(id));
			}

			if (++i >= N)
				break;
		}

		ids.sort(null);
		int m = 0, n = 0;
		for (int j = 1; j < ids.size() - 1; j++) {
    
    
			int front = ids.get(j);
			int rear = ids.get(j + 1);
			if (front == rear)
				n = front;
			else if (front != rear - 1)
				m = rear - 1;
			if (m != 0 && n != 0)
				break;
		}
		System.out.println(m + " " + n);
		sc.close();
	}
}

测试一组示例数据

在这里插入图片描述

本博客其他文章推荐

(递归方法)不建立二叉树模型求解“根据前序序列、中序序列写出后序序列”的问题

算法设计与分析之半数集问题

关于C++整型数组自动初始化为零的情况记录

算法设计与分析之线性时间选择

猜你喜欢

转载自blog.csdn.net/L333333333/article/details/102882042