Java在算法题中的输入问题】的更多相关文章

Java在算法题中的输入问题 在写算法题的时候,经常因为数据的输入问题而导致卡壳,其中最常见的就是数据输入无法结束. 1.给定范围,确定输入几个数据 直接使用普通的Scanner输入数据范围,然后使用for循环输入后续数据. 例如: Scanner scanner = new Scanner(System.in); //输入数据的范围 int n = scanner.nextInt(); for(int i = 0;i < n;i++){ arrays[i] = scanner.nextInt(…
有些算法题是这样要求的,一行输入一行数据,然后没有规定我要输入多少行,你要自行判断文件结束EOF,否则是会runtime error的,因为oj内部都是用文件来进行读写的. 例如a+b,每一行输入a b,计算a+b的结果. 一般这种嘛,c/c++很简单了,就是scanf判断一下!=EOF就完事了,但是python中没有这种操作,需要另外的操作.这里介绍一些目前我掌握的有三种方法: 用异常 这个很好想,就是判断输入并转换成数值,然后最后读不到东西了,转换肯定会有异常,通过异常退出就行了,这个方法我…
QQ讨论群:99979568 多交流才能进步 暂时写到这里,有不懂的欢迎评论, 如果有什么其他提高效率的细节,欢迎评论或者私信我,小编一定努力学习,争取早日分享给大家 如果大家嫌三连累的话,可以看看这个文章,快速三连(●ˇ∀ˇ●) 判断奇数偶数 两个变量的值交换 在使用数组长度的时候需要注意 做OJ或者控制台输入时可以优化的地方 求质数的方法(欧拉筛) 循环中一定不能进行的操作 循环中一定要会的操作(goto语句) 声明变量需要注意的地方 if条件中的boolean应该怎么判断才能提高效率 在使…
[经验] Java BigInteger类以及其在算法题中的应用 标签(空格分隔): 经验 本来在刷九度的数学类型题,有进制转换和大数运算,故而用到了java BigInteger类,使用了之后才发现真是业界良心!比C++求解进制转换题不知道方便到哪里去了!故作此文. 简介 首先,介绍一下BigIntger类. BigInteger类是java为了处理大数字二专门制作的类,可以处理很大的数字(理论上无限大),并且可以实现大数字的类似于int所有数学运算.对算法题来说,再也不怕出现超出int范围的…
JAVA经典算法题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:   兔子的规律为数列1,1,2,3,5,8,13,21.... public class exp2{ public static void main(String args[]){ int i=0; for(i=1;i<=20;i++) System.out.println(f(i)); } publ…
原文 JAVA经典算法50题[程序1]   题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... 具体分析如下: f(1) = 1(第1个月有一对兔子)f(2) = 1(第2个月还是一对兔子)f(3) = 2(原来有一对兔子,第3个开始,每个月生一对兔子)f(4) = 3(原来有两对兔子,有一对可以生育)f(5) = 5(原来有3…
为了提高自己的代码能力和算法能力,我决定每天学习一道算法题,吸收前辈思想. [程序1] TestRabbit.java 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析:兔子数量的规律为数列:1,1,2,3,5,8,13.....其实就是斐波那契数列  使用递归就可以实现 /** * 兔子问题 * 2016/5/9 * 斐波那契数列求值 *题目:古典问题:有一对兔子,从出生后第3个月起每…
计算某字符串中子串出现的次数. public static void main(String[] args) { String s1 = "adcdcjncdfbcdcdcd"; String s2 = "cd"; count(s1, s2); } public static void count(String str1, String str2) { int count = 0; if (str1.equals("") || str2.equa…
package com.forezp.util; import java.io.BufferedReader; import java.io.FileReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; /** * 一个文本中包含多行字符串,输入长度最长的字符串和最短的字符串<br> * * @author Administrator * */ pu…
package com.forezp.util; import java.util.Arrays; /** * 两个int数组,都是从小到大的的排列,请合并为一个新的数组,也是从小到到大的排列, * 请写出性能最优的算法.<br> * * * * @author Administrator * */ public class ArrayDemo1 { public static void main(String[] args) { int[] a = { 1,3,5,7,9}; int[] b…