Skip to content

Commit dc11e16

Browse files
committed
modify code
1 parent 11a70b5 commit dc11e16

File tree

4 files changed

+11
-7
lines changed

4 files changed

+11
-7
lines changed

src/class45/Code01_InsertS2MakeMostAlphabeticalOrder.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,9 +243,10 @@ public static void main(String[] args) {
243243
}
244244
}
245245
System.out.println("功能测试结束");
246+
246247
System.out.println("==========");
247-
System.out.println("性能测试开始");
248248

249+
System.out.println("性能测试开始");
249250
int s1Len = 1000000;
250251
int s2Len = 500;
251252
String s1 = randomNumberString(s1Len, range);

src/class45/Code02_CreateMaximumNumber.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ public static int[] maxNumber1(int[] nums1, int[] nums2, int k) {
1212
int[] res = new int[k];
1313
int[][] dp1 = getdp(nums1); // 生成dp1这个表,以后从nums1中,只要固定拿N个数,
1414
int[][] dp2 = getdp(nums2);
15+
// get1 从arr1里拿的数量
16+
// K - get1 从arr2里拿的数量
1517
for (int get1 = Math.max(0, k - len2); get1 <= Math.min(k, len1); get1++) {
1618
// arr1 挑 get1个,怎么得到一个最优结果
1719
int[] pick1 = maxPick(nums1, dp1, get1);
@@ -223,7 +225,6 @@ public static int[][] getdp(int[] arr) {
223225
int pick = arr.length + 1; // 1 ~ N
224226
int[][] dp = new int[size][pick];
225227
// get 不从0开始,因为拿0个无意义
226-
// get 1
227228
for (int get = 1; get < pick; get++) { // 1 ~ N
228229
int maxIndex = size - get;
229230
// i~N-1

src/class45/Code03_LongestCommonSubstringConquerByHeight.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,9 @@ public static int lcs2(String s1, String s2) {
7878
int[] height = dc3.height;
7979
int ans = 0;
8080
for (int i = 1; i < n; i++) {
81-
int up = sa[i - 1];
82-
int down = sa[i];
83-
if (Math.min(up, down) < N && Math.max(up, down) > N) {
81+
int Y = sa[i - 1];
82+
int X = sa[i];
83+
if (Math.min(X, Y) < N && Math.max(X, Y) > N) {
8484
ans = Math.max(ans, height[i]);
8585
}
8686
}
@@ -213,6 +213,7 @@ private int[] rank() {
213213
private int[] height(int[] s) {
214214
int n = s.length;
215215
int[] ans = new int[n];
216+
// 依次求h[i] , k = 0
216217
for (int i = 0, k = 0; i < n; ++i) {
217218
if (rank[i] != 0) {
218219
if (k > 0) {
@@ -222,6 +223,7 @@ private int[] height(int[] s) {
222223
while (i + k < n && j + k < n && s[i + k] == s[j + k]) {
223224
++k;
224225
}
226+
// h[i] = k
225227
ans[rank[i]] = k;
226228
}
227229
}

src/class45/Code04_MaxSumLengthNoMore.java renamed to src/class47/Code03_MaxSumLengthNoMore.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
package class45;
1+
package class47;
22

33
import java.util.LinkedList;
44

55
// 给定一个数组arr,和一个正数M
66
// 返回在子数组长度不大于M的情况下,最大的子数组累加和
7-
public class Code04_MaxSumLengthNoMore {
7+
public class Code03_MaxSumLengthNoMore {
88

99
// O(N^2)的解法,暴力解,用作对数器
1010
public static int test(int[] arr, int M) {

0 commit comments

Comments
 (0)