java做算法题可以用到的方法(都是很常用的)
- 数组排序(从小到大)
- 将字符串大写字母转为小写
- 替换字符串中符合某种规则的字符
- 去除字符串两端的空白字符
- 分割字符串
- 将数组转换为列表
- 两数比较取较大/较小的数字
- int类型转换为String类型
- 赋予int类型一个最大数(算法题中一般用于初始化一个int类型的常量)
- 使用Map集合存储元素后,判断集合中是否有某个元素存在(可以用来比较是否有重复元素出现)
- 使用Set集合存储数据后,判断集合中是否有某个元素存在
- 将字符串每个字符存进数组
数组排序(从小到大)
Arrays.sort(你的数组)
将字符串大写字母转为小写
s.toLowerCase() //s是你要转换的字符串
替换字符串中符合某种规则的字符
s.replaceAll("[^a-zA-Z0-9]", "")
// s是你准备做处理的字符串,replaceAll的作用是当字符串中有非字母数字的字符时,替换为"",也就是去掉。
replacAll中的规则是正则表达式,也可以替换为其他的条件,不要求一定是正则表达式
去除字符串两端的空白字符
s.trim() // s是你准备处理的字符串 如:" h h h " 变为"h h h"
分割字符串
s.split(" ") //将字符串中的空白字符去掉 如 "hello world" 就会变为"helloworld"
将数组转换为列表
Arrays.asList( nums[] )
两数比较取较大/较小的数字
Math.max(a , b) // 取大数字
Math.min(a , b) // 取小数字
int类型转换为String类型
String.valueOf(x)
或者是 Integer.toString(x)
赋予int类型常量一个最大数
int max = Integer.MAX_VALUE;
使用Map集合存储元素后,判断集合中是否有某个元素存在(可以用来比较是否有重复元素出现)
map.containsKey(c); // 可以通过containsKey这个方法判断集合中是否有c这个字符存在,有返回true
使用Set集合存储数据后,判断集合中是否有某个元素存在
Set<Integer> s = new HashSet<>();
s.contains(n); // 注意是contains
将字符串每个字符存进数组
str.toCharArray(); // str是一个字符串,加入str="world",那么它将返回一个'w' , 'o' , 'r' , 'l' , 'd'五个字符的数组