https://www.cnblogs.com/SaraMoring/p/5851247.html
next() 1、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。 2、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。 3、不能得到带有空格的字符串。
nextLine(): 1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。 2、可以获得空白。
注意:很多题目可以直接读一行输出一行,不需要全部存储然后一起输出! Scanner.useDelimiter(“字符”)方法,可以将分隔符号修改为指定的字符,如“\r\n”。
String s = str.substring(str.indexOf('/') + 1);
;
str.substring(i, i + 1)
表示第i个下标的字符,相应的(i, i)
即为空。
String[] strs = str.split("\\\\");
注意:正则表达式中的符号需要用\\
来转义,\
则用"\\\\"
来表示;
如果使用多个分隔符则需要借助 | 符号,但需要转义符的仍然要加上分隔符进行处理,如split("\\^|@|a1#")
会根据^、@、a1#三个字符(串)来拆分。
将输入顺序排列的数据,按自然顺序大小排列。(默认正序/生序排列,o1 - o2)
List<Integer> list = new ArrayList<>(set);
Collections.sort(list, (o1, o2) -> {
// 1表示交换,-1表示不交换
if (o1 == o2) {
return 0;
} else if (o1 > o2){
return -1;
} else {
return 1;
}
});
注意:TreeSet直接可以实现,再转换成List即可。
《背包九讲》
B(k, w)
k: 前k个物品,0~k
w: 剩下多少空间
含义:在背包容量剩余为w时,在0~k物品中最多可以装多少?
int i = (int)d; // 获得整数部分
int result = (d - i) >= 0.5 ? i + 1 : i; // 四舍五入即与0.5比较
int[] ints = new int[128];
的数组,根据位图法0/1来解决。
虽然byte类型范围为-128~127
,但是最好避免使用它。Byte与Character区别很大。
// 其中i为int或Integer类型
Integer.toBinaryString(i)); //返回i的二进制的字符串表示
Integer.toOctalString(i)); //返回i的八进制的字符串表示
Integer.toHexString(i)); //返回i的十六进制的字符串表示
Integer.toString(i, 10)); //返回i的p(10)进制的字符串表示