题目内容

对题目的含义理解错误

看代码~~我以为是统计一下多少人在那天,觉得这个pageNum没大用,结果是我错了……
下为代码:

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int studentNum = scanner.nextInt();int pageNum = scanner.nextInt();int dayNum = scanner.nextInt();int[] dayArray = new int[dayNum];for (int i = 0; i < studentNum; i++) {for (int j = 0; j < pageNum; j++) {int temp = scanner.nextInt();dayArray[temp-1]++;}}StringBuilder result = new StringBuilder();for (int i = 0; i < dayNum-1; i++) {result.append(dayArray[i]).append(" ");}result.append(dayArray[dayNum-1]);System.out.println(result);scanner.close();}
}

测试:

显然,结果是不对的……

更正后的自测

结尾一个数不对,查看代码,发现bug:

第一次提交——TLE警告


代码是这样的:

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int studentNum = scanner.nextInt();int pageNum = scanner.nextInt();int dayNum = scanner.nextInt();int[][] dayArray = new int[dayNum][pageNum];for (int i = 0; i < studentNum; i++) {for (int j = 0; j < pageNum; j++) {int temp = scanner.nextInt();dayArray[temp-1][j]++;}}StringBuilder result = new StringBuilder();for (int i = 0; i < dayNum-1; i++) {int count = 0;for (int j = 0; j < pageNum; j++) {if (dayArray[i][j] != 0) {count++;}}result.append(count).append(" ");}int count = 0;for (int j = 0; j < pageNum; j++) {if (dayArray[dayNum-1][j] != 0) {count++;}}result.append(count);System.out.println(result);scanner.close();}
}

第二次提交——TLE×3暴击


本蒟蒻没想到,boolean比int还慢,醉了:

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int studentNum = scanner.nextInt();int pageNum = scanner.nextInt();int dayNum = scanner.nextInt();boolean[][] dayArray = new boolean[dayNum][pageNum];for (int i = 0; i < studentNum; i++) {for (int j = 0; j < pageNum; j++) {int temp = scanner.nextInt();dayArray[temp-1][j]=true;}}StringBuilder result = new StringBuilder();for (int i = 0; i < dayNum-1; i++) {int count = 0;for (int j = 0; j < pageNum; j++) {if (dayArray[i][j]) {count++;}}result.append(count).append(" ");}int count = 0;for (int j = 0; j < pageNum; j++) {if (dayArray[dayNum-1][j]) {count++;}}result.append(count);System.out.println(result);scanner.close();}
}

第三次提交——RE,宁真狼


这次直接byte,我们既然不想优化算法,那就优化数据类型吧,哈哈:

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);byte studentNum = scanner.nextByte();byte pageNum = scanner.nextByte();byte dayNum = scanner.nextByte();byte[][] dayArray = new byte[dayNum][pageNum];for (int i = 0; i < studentNum; i++) {for (int j = 0; j < pageNum; j++) {int temp = scanner.nextInt();dayArray[temp-1][j]++;}}StringBuilder result = new StringBuilder();for (int i = 0; i < dayNum-1; i++) {byte count = 0;for (int j = 0; j < pageNum; j++) {if (dayArray[i][j] != 0) {count++;}}result.append(count).append(" ");}byte count = 0;for (int j = 0; j < pageNum; j++) {if (dayArray[dayNum-1][j] != 0) {count++;}}result.append(count);System.out.println(result);scanner.close();}
}

盲测是超byte范围了,可我真的忘了byte的大小诶,测一下~~

自检:

复习一下,byte在-128~127,宁真行……

第四次提交——AC之道,在于Short


附上AC代码

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);short studentNum = scanner.nextShort();short pageNum = scanner.nextShort();short dayNum = scanner.nextShort();short[][] dayArray = new short[dayNum][pageNum];for (int i = 0; i < studentNum; i++) {for (int j = 0; j < pageNum; j++) {int temp = scanner.nextInt();dayArray[temp-1][j]++;}}StringBuilder result = new StringBuilder();for (int i = 0; i < dayNum-1; i++) {short count = 0;for (int j = 0; j < pageNum; j++) {if (dayArray[i][j] != 0) {count++;}}result.append(count).append(" ");}short count = 0;for (int j = 0; j < pageNum; j++) {if (dayArray[dayNum-1][j] != 0) {count++;}}result.append(count);System.out.println(result);scanner.close();}
}

被卡性能的时候要care数据类型(洛谷P5594TLE+RE的经历,Java语言描述)相关推荐

  1. 每天打卡心情好(洛谷P1664题题解,Java语言描述)

    题目要求 P1664题目链接 分析 思路如下: 我们用一个变量zero_num标记当前1之前的0个数,这是因为题目要求说明了在遇到1的时候"清算"累计打卡天数,而不是每次都清算. ...

  2. 高时空损耗的Scanner会卡爆程序(记洛谷P1567的Java性能优化,Java语言描述)

    写在前面 对性能调优,其实我一个弱鸡,用的也不多,特别是这种OJ连JVM调优都不成. 大佬s勿喷,且看小菜鸡如何在一道OJ题里与Java性能搏斗! 题目要求 P1567题目链接 简单分析 10^9,没 ...

  3. M1卡性能简介及存取控制字节规则详解

    M1卡性能简介及存取控制字节规则详解 一. 主要指标 容量为 8K 位 EEPROM 分为 16 个扇区,每个扇区为 4 块,每块 16 个字节,以块为存取单位 每个扇区有独立的一组密码及访问控制 每 ...

  4. 非接触式IC卡性能简介(M1)

    卡片的电气部分只由一个天线和ASIC组成. 天线:卡片的天线是只有几组绕线的线圈,很适于封装到IS0卡片中. ASIC:卡片的ASIC由一个高速(106KB波特率)的RF接口,一个控制单元和一个 8K ...

  5. a卡 n卡 html5性能,装机之家显卡天梯图2019年12月 独显A卡和N卡性能排行一目了然...

    显卡对于游戏玩家至关重要,但是小白在选购显卡总是存在一个最大的选购误区,那就是以显卡显存容量来判断一款显卡的性能好坏,因为决定一款显卡的性能好坏主要是架构.流处理器.核心频率.显存带宽.显存位宽.显存 ...

  6. tesla p100 linux,Tesla P100怎么样?NVIDIA Tesla P100计算卡性能首发评测

    Nvidia在之前的GTC大会上正式发布了全新一代的计算卡Tesla P100,这也是世界上首款采用Pascal架构的计算卡,那么对于这么一块计算卡来说,它的性能如何呢?下面就详情来看看相关评测吧! ...

  7. Java语言中的数据类型

    Java语言是一种强调数据类型的语言,在声明任何变量时,必须将该变量定义为一种数据类型. Java中的数据类型包括基本类型和对象类型,基本类型总共有8种,其中4种整形.1种字符型.2种浮点型.1种布尔 ...

  8. java实型常量用十六进制表示_[Java入门笔记] Java语言基础(二):常量、变量与数据类型...

    常量与变量 什么是常量和变量 常量与变量都是程序在运行时用来存储数据一块内存空间 常量: 常量的值在程序运行时不能被改变,Java中声明常量必须使用final关键字.常量还可以分为两种意思: 第1种意 ...

  9. 算法每日学打卡:java语言基础题目打卡(16-18)

    文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:好好学java,获取优质学习资源. - "算法每日学计划"16打卡: 时间限制:1.0s 内存限制:256. ...

最新文章

  1. 互联网惨遭Struts高危漏洞摧残
  2. java gpg_gpg的使用
  3. 格式字符串语法,摘取自JDK6
  4. chmod 是一条在Unix系统中用于控制用户对文件的权限的命令
  5. jquery 的ajax请求示例和注意事项
  6. 国庆6.37亿出游花费4665.6亿处于什么水平?哪个省市客流最大?收入最高?
  7. a+=b不一定等于a=a+b
  8. layui绑定json_JSON-B非对称属性绑定
  9. Python中的reshape()
  10. c语言实数的输出和占位_例4:C语言用%f输出实数
  11. Jquery 安装到Visual Studio 2008
  12. 螃蟹保存方法保存时间_蜂巢蜜应该怎么保存,蜂巢蜜怎么保存的时间更长
  13. 【股价预测】基于matlab最小二乘法股票价格预测【含Matlab源码 348期】
  14. mysql awk_awk 实用实例参考
  15. 酒精传感器实验-传感器原理及应用实验
  16. PowerBuilder2017
  17. 主流四大虚拟化架构对比分析
  18. ideaIU-2020.3.2安装教程以及导入第一个spring boot项目运行和环境配置教程
  19. LC - P03 机器人大冒险
  20. 深度学习(十三) Adversarial Attack 理论部分

热门文章

  1. Html5 学习笔记 --》html基础 css 基础
  2. SAS笔记(2) RETAIN语句
  3. Linux 权限、磁盘操作命令-Linux基础环境命令学习笔记
  4. Servlet添加商品
  5. 关于类和接口的一些小笔记
  6. jitpack让使用第三方依赖库更简单
  7. Java和C++在细节上的差异(转)
  8. UVA 10608-Friends
  9. 开发辅助工具Kalman Studio2.0发布,内置基于T4的代码生成器
  10. 求助了,园子里的高手们,软件运行报401错误