Skip to content

Commit ccfe2f6

Browse files
refactor format
1 parent ebc73f3 commit ccfe2f6

File tree

6 files changed

+87
-87
lines changed

6 files changed

+87
-87
lines changed

src/main/java/com/fishercoder/solutions/_67.java

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -12,26 +12,26 @@ public class _67 {
1212
//1. use StringBuilder.reverse() function! Nice!
1313
//2. if a numeric number is represented/stored in String, how to get its value: use Character.getNumericValue(s.charAt(i))
1414
//3. directly adding/subtracting chars will end up working with their ASCII numbers, e.g. chars[0] = 'a', chars[1] = 'b', then chars[0] + chars[1] will become 195
15-
public String addBinary(String a, String b){
16-
int carry = 0, i = a.length()-1, j = b.length()-1;
15+
public String addBinary(String a, String b) {
16+
int carry = 0, i = a.length() - 1, j = b.length() - 1;
1717
StringBuilder sb = new StringBuilder();
18-
while(i >= 0 || j >= 0){
18+
while (i >= 0 || j >= 0) {
1919
int sum = carry;
20-
if(i >= 0) {
20+
if (i >= 0) {
2121
sum += a.charAt(i--) - '0';
2222
}
23-
if(j >= 0) {
23+
if (j >= 0) {
2424
sum += b.charAt(j--) - '0';
2525
}
26-
sb.append(sum%2);
27-
carry = sum/2;
26+
sb.append(sum % 2);
27+
carry = sum / 2;
2828
}
29-
if(carry != 0) {
29+
if (carry != 0) {
3030
sb.append(carry);
3131
}
3232
return sb.reverse().toString();
3333
}
34-
34+
3535
//my original lengthy but AC'ed solution
3636
public String addBinary_my_original_accepted_but_lengthy_solution(String a, String b) {
3737
char[] longer = (a.length() >= b.length()) ? a.toCharArray() : b.toCharArray();
@@ -40,56 +40,56 @@ public String addBinary_my_original_accepted_but_lengthy_solution(String a, Stri
4040
//let's use Math.max() as the length first, if the most signifant bits add up to a carry, then we'll add one more bit
4141
char[] result = new char[longer.length];
4242
boolean carry = false;
43-
int i = longer.length-1, j = shorter.length-1;
43+
int i = longer.length - 1, j = shorter.length - 1;
4444
System.out.println(Character.getNumericValue(longer[i]) + Character.getNumericValue(shorter[j]));
4545
System.out.println((int) longer[i] + (int) shorter[j]);
4646
System.out.println(longer[i] + shorter[j]);
4747
System.out.println('a' + 'b');
48-
for(; i >= 0 || j >= 0; i--, j--){
49-
if(j < 0 && i >= 0){
50-
if(carry){
51-
if(Character.getNumericValue(longer[i])+1 == 2){
48+
for (; i >= 0 || j >= 0; i--, j--) {
49+
if (j < 0 && i >= 0) {
50+
if (carry) {
51+
if (Character.getNumericValue(longer[i]) + 1 == 2) {
5252
result[i] = '0';
5353
carry = true;
5454
} else {
5555
result[i] = '1';
5656
carry = false;
5757
}
5858
} else {
59-
for(int k = i; k >= 0; k--){
59+
for (int k = i; k >= 0; k--) {
6060
result[k] = longer[k];
6161
}
6262
return new String(result);
6363
}
64-
} else if(Character.getNumericValue(longer[i]) + Character.getNumericValue(shorter[j]) == 2){
65-
if(carry){
64+
} else if (Character.getNumericValue(longer[i]) + Character.getNumericValue(shorter[j]) == 2) {
65+
if (carry) {
6666
result[i] = '1';
6767
} else {
6868
result[i] = '0';
6969
}
7070
carry = true;
71-
} else if(Character.getNumericValue(longer[i]) + Character.getNumericValue(shorter[j]) == 1){
72-
if(carry){
71+
} else if (Character.getNumericValue(longer[i]) + Character.getNumericValue(shorter[j]) == 1) {
72+
if (carry) {
7373
result[i] = '0';
7474
carry = true;
7575
} else {
7676
result[i] = '1';
7777
carry = false;
7878
}
79-
} else if(Character.getNumericValue(longer[i]) + Character.getNumericValue(shorter[j]) == 0){
80-
if(carry){
79+
} else if (Character.getNumericValue(longer[i]) + Character.getNumericValue(shorter[j]) == 0) {
80+
if (carry) {
8181
result[i] = '1';
8282
} else {
8383
result[i] = '0';
8484
}
8585
carry = false;
8686
}
8787
}
88-
if(carry){
89-
char[] newResult = new char[longer.length+1];
88+
if (carry) {
89+
char[] newResult = new char[longer.length + 1];
9090
newResult[0] = '1';
91-
for(int k = 0; k < result.length; k++){
92-
newResult[k+1] = result[k];
91+
for (int k = 0; k < result.length; k++) {
92+
newResult[k + 1] = result[k];
9393
}
9494
return new String(newResult);
9595
}

src/main/java/com/fishercoder/solutions/_68.java

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -34,33 +34,33 @@ public class _68 {
3434

3535
public static List<String> fullJustify(String[] words, int L) {
3636
ArrayList<String> result = new ArrayList();
37-
if(words == null || words.length == 0) {
37+
if (words == null || words.length == 0) {
3838
return result;
3939
}
4040
int count = 0;
4141
int last = 0;
42-
for(int i = 0; i < words.length; i++){
43-
if(count + words[i].length() + (i-last) > L){
44-
int spaceNum = 0 ;
42+
for (int i = 0; i < words.length; i++) {
43+
if (count + words[i].length() + (i - last) > L) {
44+
int spaceNum = 0;
4545
int extraNum = 0;
46-
if(i - last - 1 > 0){
47-
spaceNum = (L - count)/(i - last - 1);
48-
extraNum = (L - count)%(i - last - 1);
46+
if (i - last - 1 > 0) {
47+
spaceNum = (L - count) / (i - last - 1);
48+
extraNum = (L - count) % (i - last - 1);
4949
}
5050
StringBuilder sb = new StringBuilder();
51-
for(int j = last; j < i; j++){
51+
for (int j = last; j < i; j++) {
5252
sb.append(words[j]);
53-
if(j < i-1){
54-
for(int k = 0; k < spaceNum; k++){
53+
if (j < i - 1) {
54+
for (int k = 0; k < spaceNum; k++) {
5555
sb.append(" ");
5656
}
57-
if(extraNum > 0){
57+
if (extraNum > 0) {
5858
sb.append(" ");
5959
}
6060
extraNum--;
6161
}
6262
}
63-
for(int j = sb.length(); j < L; j++){
63+
for (int j = sb.length(); j < L; j++) {
6464
sb.append(" ");
6565
}
6666
result.add(sb.toString());
@@ -70,25 +70,25 @@ public static List fullJustify(String[] words, int L) {
7070
count += words[i].length();
7171
}
7272
StringBuilder sb = new StringBuilder();
73-
for(int i = last; i < words.length; i++){
73+
for (int i = last; i < words.length; i++) {
7474
sb.append(words[i]);
75-
if(sb.length() < L){
75+
if (sb.length() < L) {
7676
sb.append(" ");
7777
}
7878
}
79-
for(int i = sb.length(); i < L; i++){
79+
for (int i = sb.length(); i < L; i++) {
8080
sb.append(" ");
8181
}
8282
result.add(sb.toString());
8383
return result;
8484
}
8585

86-
public static void main(String...args){
86+
public static void main(String... args) {
8787
// String[] words = new String[]{"This", "is", "an", "example", "of", "text", "justification."};
8888
String[] words = new String[]{"This", "is", "a", "good", "test!", "\n", "What", "do", "you", "\n", "think?", "\n", "I", "think", "so", "too!"};
8989
int L = 16;
9090
List<String> result = fullJustify(words, L);
91-
for(String str : result) {
91+
for (String str : result) {
9292
System.out.println(str);
9393
}
9494
}

src/main/java/com/fishercoder/solutions/_69.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,16 @@
99
*/
1010
public class _69 {
1111
public int mySqrt(int x) {
12-
long i = 0, j = x/2+1;
13-
while(i <= j){
14-
long mid = (i+j)/2;
15-
long result = mid*mid;
16-
if(result == (long) x) {
12+
long i = 0, j = x / 2 + 1;
13+
while (i <= j) {
14+
long mid = (i + j) / 2;
15+
long result = mid * mid;
16+
if (result == (long) x) {
1717
return (int) mid;
18-
} else if(result > x) {
19-
j = mid-1;
18+
} else if (result > x) {
19+
j = mid - 1;
2020
} else {
21-
i = mid+1;
21+
i = mid + 1;
2222
}
2323
System.out.println(mid + " * " + mid + " = " + result + "\ti = " + i + "\tj = " + j);
2424
}

src/main/java/com/fishercoder/solutions/_7.java

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,20 @@
55
Example1: x = 123, return 321
66
Example2: x = -123, return -321*/
77
public class _7 {
8-
public int reverse_short_version(int x){
8+
public int reverse_short_version(int x) {
99
long rev = 0;
10-
while(x != 0){
11-
rev = rev*10 + x%10;
10+
while (x != 0) {
11+
rev = rev * 10 + x % 10;
1212
x /= 10;
13-
if(rev > Integer.MAX_VALUE || rev < Integer.MIN_VALUE) {
13+
if (rev > Integer.MAX_VALUE || rev < Integer.MIN_VALUE) {
1414
return 0;
1515
}
1616
}
1717
return (int) rev;
1818
}
19-
19+
2020
public int reverse(int x) {
21-
if(x == 0) {
21+
if (x == 0) {
2222
return 0;
2323
}
2424
//save the first bit if it's a negative sign
@@ -27,34 +27,34 @@ public int reverse(int x) {
2727
boolean negative = sb.toString().charAt(0) == '-' ? true : false;
2828
//use modulor and division and use long as the result type to avoid overflow
2929
long longX = (long) x;
30-
if(negative){
30+
if (negative) {
3131
//get rid of the first '-' bit
3232
String withoutNegativeSign = sb.substring(1).toString();
3333
longX = Long.parseLong(withoutNegativeSign);
34-
}
34+
}
3535
sb.setLength(0);
3636
long result = 0;
37-
if(negative){
37+
if (negative) {
3838
sb.append('-');
39-
}
40-
while(longX != 0){
41-
sb.append(longX%10);
39+
}
40+
while (longX != 0) {
41+
sb.append(longX % 10);
4242
longX /= 10;
4343
}
4444
result = Long.parseLong(sb.toString());
4545
System.out.println(result);//it's right here, but after converting it into an int, it overflowed to become a wrong number, how to handle this?
4646
//it turns out depending on the question requirement, on this OJ, it's expecting 0, if it's beyond the range of (Integer.MIN_VALUE, Integer.MAX_VALUE)
4747
return (result > Integer.MAX_VALUE || result < Integer.MIN_VALUE) ? 0 : (int) result;
4848
}
49-
50-
public static void main(String...strings){
49+
50+
public static void main(String... strings) {
5151
_7 test = new _7();
5252
//when the input is 1534236469, it's expecting 0 as the correct answer, this is due to its reversed number is greater than Integer.MAX_VALUE, thus return 0
5353
System.out.println(1534236469 > Integer.MAX_VALUE);
5454
System.out.println("1534236469\n" + Integer.MAX_VALUE);
5555
// System.out.println(test.reverse(-2147483648));
5656
}
57-
57+
5858
// this is not going to work when the input number's reverse version is greater than
5959
// Integer.MAX_VALUE, it'll throw NumberFormatException as Java cannot handle it, overflowed.
6060
public int reverse_overflowed(int x) {
@@ -64,19 +64,19 @@ public int reverse_overflowed(int x) {
6464
boolean negative = sb.toString().charAt(0) == '-' ? true : false;
6565
char[] bits = sb.toString().toCharArray();
6666
sb.setLength(0);
67-
if(negative){
67+
if (negative) {
6868
sb.append('-');
6969
//until i > 0
70-
for(int i = bits.length-1; i > 0; i--){
70+
for (int i = bits.length - 1; i > 0; i--) {
7171
sb.append(bits[i]);
7272
}
7373
} else {
7474
//until i >= 0
75-
for(int i = bits.length-1; i >= 0; i--){
75+
for (int i = bits.length - 1; i >= 0; i--) {
7676
sb.append(bits[i]);
7777
}
7878
}
7979
return Integer.parseInt(sb.toString());
8080
}
81-
81+
8282
}

src/main/java/com/fishercoder/solutions/_70.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@
66
public class _70 {
77
//classical dp problem
88
public int climbStairs(int n) {
9-
if(n < 1) {
9+
if (n < 1) {
1010
return 0;
1111
}
12-
if(n < 4) {
12+
if (n < 4) {
1313
return n;
1414
}
15-
int[] dp = new int[n+1];
15+
int[] dp = new int[n + 1];
1616
//the number of ways to reach step n could be calculated from n-1 and n-2
1717
dp[1] = 1;
1818
dp[2] = 2;
19-
for(int i = 3; i <= n; i++){
20-
dp[i] = dp[i-1] + dp[i-2];
19+
for (int i = 3; i <= n; i++) {
20+
dp[i] = dp[i - 1] + dp[i - 2];
2121
}
2222
return dp[n];
2323
}

src/main/java/com/fishercoder/solutions/_72.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,34 +14,34 @@ public class _72 {
1414

1515
public int minDistance(String word1, String word2) {
1616
int m = word1.length(), n = word2.length();
17-
if(m == 0) {
17+
if (m == 0) {
1818
return n;
1919
}
20-
if(n == 0) {
20+
if (n == 0) {
2121
return m;
2222
}
23-
23+
2424
char[] str1 = word1.toCharArray();
2525
char[] str2 = word2.toCharArray();
26-
27-
int[][] table = new int[m+1][n+1];
28-
for(int i = 0; i < m+1; i++) {
26+
27+
int[][] table = new int[m + 1][n + 1];
28+
for (int i = 0; i < m + 1; i++) {
2929
table[i][0] = i;
3030
}
31-
for(int j = 0; j < n+1; j++) {
31+
for (int j = 0; j < n + 1; j++) {
3232
table[0][j] = j;
3333
}
34-
35-
for(int i = 1; i < m+1; i++){
36-
for(int j = 1; j < n+1; j++){
34+
35+
for (int i = 1; i < m + 1; i++) {
36+
for (int j = 1; j < n + 1; j++) {
3737
int cost = 0;
38-
if(str1[i-1] != str2[j-1]) {
38+
if (str1[i - 1] != str2[j - 1]) {
3939
cost = 1;
4040
}
41-
table[i][j] = Math.min(Math.min(table[i-1][j]+1, table[i][j-1]+1), table[i-1][j-1]+cost);
41+
table[i][j] = Math.min(Math.min(table[i - 1][j] + 1, table[i][j - 1] + 1), table[i - 1][j - 1] + cost);
4242
}
4343
}
44-
44+
4545
return table[m][n];
4646
}
4747

0 commit comments

Comments
 (0)