小技巧 ----- Java算法题中的输入输出
输入操作
一般使用
Scanner s = new Scanner(System.in);
Scanner类中的常用方法
方法 描述 String next() 接受的字符串以空格划分且不包含 \n
String nextLine() 接收的字符串以行划分且包含 \n
int nextInt() 接收一个整型值以空格划分 有大量输入数据时,使用
BufferedReader reader = new BufferedReader(new InputSreamReader(System.in));
输出操作
System.out.println()
-----当输出大量数据的时候效率很低BufferedWriter log = new BufferedWriter(new OutputStreamWriter(System.out));
使用log.write();
-----输出大量数据的时候效率更高,不过需要捕获异常,还需要注意:只能输出字符数组和字符串,如果单独输出整型的话,相对于输出的是对应该整型ASCII码的字符,最后flush()
一下,否则不会输出
大量输入数据和输出数据案例
使用BufferedWriter需要注意的点:
- write方法只能输出单个字符或字符串而且不换行
- 如果需要输出整型值,可以根据题目输出条件,在整型值后面 + " " 或 “\n”,就转为字符串了
- 最后在程序结束前
flush()
使用BufferedReader需要注意的点:
- readLine方法配合String类的spilt方法使用
- 把每一行当作一次输入就行
- 注意用
Integer.parseInt()
把字符串转为整型
795. 前缀和
import java.util.*;
import java.io.*;
import java.math.*;public class Main {BufferedWriter log = new BufferedWriter(new OutputStreamWriter(System.out));BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));String[] sp;int[] a, s;int n, m;int l, r;void run() throws Exception {sp = reader.readLine().split(" ");n = Integer.parseInt(split[0]);m = Integer.parseInt(split[1]);a = new int[n + 1];s = new int[n + 1];sp = reader.readLine().split(" ");for (int i = 1; i <= n; i++) {a[i] = Integer.parseInt(sp[i - 1]);}for (int i = 1; i <= n; i++) {s[i] = s[i - 1] + a[i];}while (m-- > 0) {sp = reader.readLine().split(" ");l = Integer.parseInt(split[0]);r = Integer.parseInt(split[1]);log.write(s[r] - s[l - 1] + "\n");}log.flush();}public static void main(String[] args) throws Exception { new Main().run(); }
}
小技巧 ----- Java算法题中的输入输出相关推荐
- 小技巧 ----- Java算法题标准模版
模版 import java.util.*; import java.io.*; import java.math.*;class Main {BufferedReader reader = new ...
- c算法题中各种输入和输出方法技巧详解!
文章目录 引言 导入io库 输入 各种输入方法 `scanf` 格式说明符 基本示例 读入整数 读入其他类型的数字 读入单个字符 读入字符串 扫描字符集合 `getchar()` `gets()` ` ...
- 算法题中求解绝对值最值的技巧
引言 现在算法题中,有时会遇到求解绝对值最值的问题,比如给定一个数组,求解 a b s ∣ a i − a j ∣ abs|a_i - a_j| abs∣ai−aj∣的最大值.诸如此类问题,暴力解 ...
- 悲哀!面试现场,简单几道java算法题,90%程序员没写出来
这两天小编逛论坛的时候发现一个很有意思的事情,就是一位互联网公司的面试官分享的,他们最近想招一批java的实习生,所以他们的面试题并不难,但是前来面试的人,却很多都挂在了几道算法题上,要么就是逻辑不严 ...
- 我整理了50道经典Java算法题,直接进了字节跳动!!
写在前面 最近,很多小伙伴都想进入字节跳动这个快速发展的公司,而字节跳动对于算法的要求比较高.于是乎,有些小伙伴问我能否整理一些基础的算法题,帮助他们提升下基础算法能力.我:没问题啊!于是,经过半个多 ...
- Java算法题:Z字形变换
Java算法题:Z字形变换 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "PAYPALISHIRING" 行 ...
- word文档通配符换行_职场小技巧|没想到word中的表格就可以排版图片大小
不知道大家在工作当中有没有遇到这样的情况:在WORD文档中想插入图片,却不能保证大小格式一样怎么办?如果数量较少的话,我相信大家还是有办法解决的!比如可以先插入一张图片后设置统一的格式进使用快捷键F4 ...
- 惊!面试现场,简单几道java算法题,90%程序员没写出来
近几个月很多大学实习生离校找实习工作去了,本以为自己很值钱,实际上发现自己并不值钱,想象着自己能赚很多钱了,结果只能拿到一点微薄的工资,很多人会怪公司给的少,但是你有没有想过,你自己的技术值多少钱?你 ...
- 【Java算法题】剑指offer_数据结构之03队列栈
前言 刷题链接: https://www.nowcoder.com/exam/oj/ta?page=2&tpId=13&type=265 原定于5.30写完队列&栈,超时了14 ...
最新文章
- java rsa加密解密_前端实现对请求参数进行RSA加密amp;解密,针对字符串过长进行分段加密amp;分段解密的处理...
- 博士申请 | 美国杜克大学徐攀助理教授招收机器学习/人工智能全奖博士生
- Sql Server 连接池及其用法
- 猜数大小编程c语言_猜数正确编程
- MATLAB图像增强程序举例
- matlab中的方波信号图片_基于Matlab的雷达信号处理仿真
- @RequiresPermissions 注解说明
- Matlab代码提示“svmtrain已删除 请改用fitcsvm”,以及svmpredict没有返回结果label和精度accuracy的解决办法
- 通俗理解滑模变结构(2)
- 论文笔记_S2D.03-2012-BMVC-目标类别分割和稠密立体重建的联合优化
- hl3150cdn废粉仓清零_常见施乐联想兄弟等打印机加粉清零(废粉仓清零)方法
- linux 编写 声卡驱动程序,在Linux中注册声卡驱动程序
- SNK,作为程序后缀的时候,是.net中的强密匙加密文件
- odoo网页上传本地视频
- 2019下半年的教师资格考试~学霸大佬们总结的记忆口诀涨分必备
- 什么是等级保护?等保二级和三级的区别?
- 【论文笔记】:CornerNet: Detecting Objects as Paired Keypoints
- python调用迅雷下载引擎_python将下载地址转换成迅雷和qq旋风的下载地址
- 1049: 平方和与立方和 C语言
- android 收藏功能,5款不可思议的安卓黑科技APP,各个超级实用,希望大家低调收藏...
热门文章
- Django APIView源码解析
- 【CSAPP笔记】4. 汇编语言——基础知识
- STL——配接器(adapters)
- [转]给定单链表,检测是否有环。如果有环,则求出进入环的第一个节点
- 对路径“xxxx”的访问被拒绝
- mplayer error opening/initializing the selected video_out (-vo) device
- ubuntu常用命令或设置
- 制药企业核算报表系统整体方案
- 大数据和BI商业智能有何区别?有何相关?
- 安卓用targetSdk来兼容各个版本