Algorithm
题目描述
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
Example
输入123->321
输入-123->-321
输入120->21
题目解答
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import java.util.*;
public class Solution1 {
public int[] reverseNumber(int num) {
int res = 0;
while(num != 0) {
int pod = num % 10;
if(res > Integer.MAX_VALUE / 10 || (res == Integer.MAX_VALUE / 10 && pod > 7)) {
return 0;
}
if(res < Integer.MIN_VALUE / 10 || (res == Integer.MIN_VALUE / 10 && pod < -8)) {
return 0;
}
res = res * 10 + pod;
num = num / 10;
}
return res;
}
}
|
此题主要考察对栈的使用,如果不使用其它辅助类,则要考虑Int的整数溢出问题。时间复杂度O(log(n)),空间复杂度为O(1)
Review
Speed-up-maven-build 本文主要讲解了作者是如何加速多项目工程不同开发语言的maven构建的。主要包括以下几个尝试:
跳过编译不需要的模块
如果在项目中构建时,修改了Java代码,则可以跳过对js的编译,主要使用-pl参数
1
|
mvn clean install -DskipTests -pl '!m7,!m8,!m18'
|
如果可能,开启并行构建
当代的计算机都是多核CPU,如果项目允许,可以开启Maven的并行构建来加速构建,主要使用-T 1C参数
1
|
mvn -T 1C clean install -nsu -DskipTests -pl '!m7,!m8,!m18,!m11,!m24'
|
只对新的修改进行构建
可以指定进行构建的文件来加速构建,主要使用-pl参数
1
|
mvn clean install -DskipTests -nsu -pl 'm7' -amd -T 1C
|
只进行编译
如果本地开发不需要进行打包安装操作,则可以只执行Compile命令,去除不必要的执行步骤
1
|
mvn clean -nsu compiler:compile compiler:testCompiler -T 1C
|
对大项目进行拆分
拆分后就可以进行指定工程的编译了
Tip
使用wd与fzf实现对文件的快速移动与复制
1
2
3
4
5
6
7
8
9
10
|
#copy file to target fuzzy
#c file1
c() {
cp -v "$1" "$(awk -F ":" '{print $2}' ~/.warprc | fzf | sed "s|~|$HOME|")"
}
#mv file to target fuzzy
#vv file2
vv() {
mv -v "$1" "$(awk -F ":" '{print $2}' ~/.warprc | fzf | sed "s|~|$HOME|")"
}
|
Share
今天分享一篇JAVA基础的文章,讲述了开发中对Map进行合并的几种方式。由于JAVA8的加持,操作方式更加多样,如Map.merge(),Stream.concat(),Stream.of(),以及使用第三方的StreamEx来实现。Java-merge-maps