1. 最后一个单词的长度
从最后一个字符开始遍历计数,到空格为止
2. 计算某个字符出现次数
将该字符替换为空白,然后用总长度减去替换后的长度
3.去重排序
使用TreeSet((a,b)->{return a-b}) 来去重排序
在牛客里scan.hasNextInt可以跳出循环,但是idea需要使用两个scan对象。
4. 随机数8位输出不足补0
将所有字符串%取余,补0后,拼一起。然后遍历打印
5. 十六进制
pow幂函数,但是都为double类型。可以在循环中反向遍历,迭代乘出幂结果
6. 质数因子
如果一个数是合数,那么该数的最小的质数因子一定小于 该合数的开方数
sqrt求算术平方根
从最小的质数开始除,除到不能整除。
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
long num = scanner.nextLong();
long k = (long) Math.sqrt(num);
for (long i = 2; i <= k; ++i) {
while (num % i == 0) {
System.out.print(i + " ");
num /= i;
}
}
System.out.println(num == 1 ? "": num+" ");
}
7. 四舍五入
加0.5然后强转int
8. 合并map值记录
map.put(key,map.getOrDefault(key,0) + value);
9. 提取不重复的整数
使用set,add的时候有返回值,boolean类型。
10. 字符串个数统计
set
11.数字颠倒输出
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
if(a == 0) System.out.print(0);
while(a > 0){
System.out.print(a % 10);
a /= 10;
}
12.字符串反转
反向遍历
13.句子逆序
trim后分隔符split
14.字符串排序
list.stream().sorted(String::compareTo).forEach((a)-> System.out.println(a));
15.二进制中1的个数
Integer.bitCount(i)