wsgsbzmf 2023-11-10 14:53 采纳率: 0%
浏览 10

关于P8598 [蓝桥杯 2013 省 AB] 错误票据 有个疑问

P8598 [蓝桥杯 2013 省 AB] 错误票据

import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        ArrayList<Integer> list = new ArrayList<Integer>();
        int N = sc.nextInt();
        sc.nextLine();//吃掉整数后面的换行符
        for (int i = 0; i < N; i++) {//输入所有的数
            String line = sc.nextLine();
            String[] split = line.split(" ");//用空格进行分割,得到若干字符串
            for (int j = 0; j < split.length; j++) {//遍历所有的数
                list.add(Integer.parseInt(split[j]));//解析为整数
            }
        }
//        System.out.println(list.size());
        Collections.sort(list);//顺序扫描
        int a = 0, b = 0;//a是缺号,b是重号
        for (int i = 1; i < list.size(); i++) {
            if (list.get(i) - list.get(i - 1) == 2)//后面减前面等于2不就等于他断开了么
                a = list.get(i) - 1;
            if (list.get(i) - list.get(i - 1) == 0)//后面减前面等于0不就等于他重号了么
                b = list.get(i);
        }
        System.out.println(a + " " + b);
    }
}

这里if (list.get(i) - list.get(i - 1) == 0)和if (list.get(i) == list.get(i - 1) )有什么区别
为什么换成第二个就有一个测试点错误?

  • 写回答

2条回答 默认 最新

  • 十八年后又是 2023-11-10 15:01
    关注

    从list里面get到的是Integer对象而不是int,
    比较值的话,不应该直接用 == 号比较

    评论

报告相同问题?

问题事件

  • 创建了问题 11月10日

悬赏问题

  • ¥15 ue5编辑器的在线的模型导入
  • ¥15 如何用qemu模拟arm开发板,使用自己写的.c存储器文件自定义
  • ¥100 minio依赖安装报错问题
  • ¥15 求解决为什么json数据完整,却解析失败
  • ¥15 打开Smart schedule运行examples/transformer-xl/scripts/run_enwik8_base_moe.sh 报错
  • ¥15 求一个C# sm4 加密解密的代码
  • ¥20 centos7下载mysql提示DNS解析异常
  • ¥20 vx转账功能对方不能领取
  • ¥15 vue2+codemirror 运行后页面光标太大了
  • ¥15 pdfjs库如何在前端实现打印、旋转等功能