Skip to content

Commit 9d1bfa8

Browse files
增加部分注释
1 parent 47c40fb commit 9d1bfa8

File tree

7 files changed

+72
-11
lines changed

7 files changed

+72
-11
lines changed

huawei/src/main/java/Main.java renamed to huawei/src/main/java/HuaWei.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package main.java;
22

3-
public class Main {
3+
public class HuaWei {
44
/**
55
* 给你一个字符串 s 和一个字符 c ,且 c 是 s 中出现过的字符。
66
* 返回一个整数数组 answer ,其中 answer.length == s.length 且 answer[i] 是 s 中从下标 i 到离它 最近 的字符 c 的 距离 。

leetcode/lcci/05.01.Insert Into Bits/README.md

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,30 @@ class Solution {
5050
}
5151
```
5252

53-
### **...**
53+
### **分享我的解题思路**
5454

55-
```
55+
```java
56+
public class Main {
57+
public static void main(String[] args) {
58+
//int N = 0b10000000000, M = 0b10011, i = 2, j = 6;
59+
int N = 0b0, M = 0b11111, i = 0, j = 4;
60+
int res = insertBits(N, M, i, j);
61+
System.out.println(Integer.toBinaryString(res));
62+
System.out.println(Integer.toBinaryString(N ^ (M << i)));
63+
}
64+
65+
public static int insertBits(int N, int M, int i, int j) {
66+
for (int k = i; k <= j; k++) {
67+
N &= ~(1 << k);
68+
}
69+
return N ^ (M << i);
70+
}
5671

72+
//解法二
73+
public static int insertBits2(int N, int M, int i, int j) {
74+
return N ^ (M << i);
75+
}
76+
}
5777
```
5878

5979
<!-- tabs:end -->

leetcode/lcci/05.07.Exchange/README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,10 @@
4949
class Solution {
5050
public int exchangeBits(int num) {
5151
int t1 = num >> 1;
52-
int t2 = num << 1;
53-
return t1 & 0x55555555 | t2 & 0xaaaaaaaa;
52+
int t2 = num << 1;
53+
//0xaaaaaaaa = 10101010101010101010101010101010 (偶数位为1,奇数位为0)
54+
//0x55555555 = 1010101010101010101010101010101 (偶数位为0,奇数位为1)
55+
return t1 & 0x55555555 | t2 & 0xaaaaaaaa;
5456
}
5557
}
5658
```

leetcode/lcci/16.01.Swap Numbers/README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,11 @@ class Solution:
4040

4141
```java
4242
class Solution {
43-
public int[] swapNumbers(int[] numbers) {
44-
numbers[0] = numbers[0] ^ numbers[1];
45-
numbers[1] = numbers[0] ^ numbers[1];
46-
numbers[0] = numbers[0] ^ numbers[1];
43+
public static int[] swapNumbers(int[] numbers) {
44+
//int[] numbers = {1, 2};
45+
numbers[0] = numbers[0] ^ numbers[1];//11
46+
numbers[1] = numbers[0] ^ numbers[1];//1
47+
numbers[0] = numbers[0] ^ numbers[1];//10
4748
return numbers;
4849
}
4950
}

leetcode/lcci/16.11.Diving Board/README.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,21 @@ k = 3
3939
<!-- 这里可写当前语言的特殊实现逻辑 -->
4040

4141
```java
42-
42+
class Solution {
43+
public int[] divingBoard(int shorter, int longer, int k) {
44+
if (k == 0) {
45+
return new int[0];
46+
}
47+
if (longer == shorter) {
48+
return new int[]{longer * k};
49+
}
50+
int[] ans = new int[k + 1];
51+
for (int i = 0;i <= k;i++) {
52+
ans[i] = longer * i + shorter * (k - i);
53+
}
54+
return ans;
55+
}
56+
}
4357
```
4458

4559
### **...**

leetcode/lcci/17.13.Re-Space/README.md

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,27 @@ sentence = &quot;jesslookedjustliketimherbrother&quot;
4747
<!-- 这里可写当前语言的特殊实现逻辑 -->
4848

4949
```java
50-
50+
import java.util.Arrays;
51+
import java.util.HashSet;
52+
import java.util.Set;
53+
54+
class Solution {
55+
public int respace(String[] dictionary, String sentence) {
56+
Set<String> set = new HashSet<>(dictionary.length);
57+
set.addAll(Arrays.asList(dictionary));
58+
59+
int[] dp = new int[sentence.length() + 1];
60+
for (int i = 1; i <= sentence.length(); i++) {
61+
dp[i] = dp[i - 1] + 1;
62+
for (int j = 0;j < i;j++) {
63+
if (set.contains(sentence.substring(j, i))) {
64+
dp[i] = Math.min(dp[i], dp[j]);
65+
}
66+
}
67+
}
68+
return dp[sentence.length()];
69+
}
70+
}
5171
```
5272

5373
### **...**

leetcode/lcci/17.13.Re-Space/Solution.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
import java.util.Arrays;
2+
import java.util.HashSet;
3+
import java.util.Set;
4+
15
class Solution {
26
public int respace(String[] dictionary, String sentence) {
37
Set<String> set = new HashSet<>(dictionary.length);

0 commit comments

Comments
 (0)