modify code order

pull/6/head
algorithmzuo 4 years ago
parent a1a9982c4b
commit aacd1b0e7a

@ -21,10 +21,11 @@ public class Code01_PostOfficeProblem {
}
for (int i = 1; i < N; i++) {
for (int j = 2; j <= Math.min(i, num); j++) {
dp[i][j] = Integer.MAX_VALUE;
int ans = Integer.MAX_VALUE;
for (int k = 0; k <= i; k++) {
dp[i][j] = Math.min(dp[i][j], dp[k][j - 1] + w[k + 1][i]);
ans = Math.min(ans, dp[k][j - 1] + w[k + 1][i]);
}
dp[i][j] = ans;
}
}
return dp[N - 1][num];

@ -1,7 +1,7 @@
package class43;
// leetcode 464题
public class Code03_CanIWin {
public class Code01_CanIWin {
// 这个是暴力尝试,思路是正确的,超时而已
public static boolean canIWin1(int choose, int total) {

@ -3,7 +3,7 @@ package class43;
import java.util.ArrayList;
import java.util.List;
public class Code01_TSP {
public class Code02_TSP {
public static int t1(int[][] matrix) {
int N = matrix.length; // 0...N-1

@ -1,6 +1,6 @@
package class43;
public class Code02_PavingTile {
public class Code03_PavingTile {
/*
* 2*MN*M

@ -1,7 +1,7 @@
package class44;
// 测试链接: https://leetcode.com/problems/last-substring-in-lexicographical-order/
public class Code02_LastSubstringInLexicographicalOrder {
public class Code01_LastSubstringInLexicographicalOrder {
public static String lastSubstring(String s) {
if (s == null || s.length() == 0) {

@ -1,6 +1,6 @@
package class44;
public class Code03_InsertS2MakeMostAlphabeticalOrder {
public class Code02_InsertS2MakeMostAlphabeticalOrder {
// 暴力方法
public static String right(String s1, String s2) {

@ -1,7 +1,7 @@
package class44;
// 测试链接: https://leetcode.com/problems/create-maximum-number/
public class Code01_CreateMaximumNumber {
public class Code03_CreateMaximumNumber {
public static int[] maxNumber1(int[] nums1, int[] nums2, int k) {
int len1 = nums1.length;

@ -1,4 +1,4 @@
package class46;
package class45;
// 如果一个字符相邻的位置没有相同字符,那么这个位置的字符出现不能被消掉
// 比如:"ab"其中a和b都不能被消掉
@ -16,7 +16,7 @@ package class46;
// 如果先消除中间的两个c剩下"baaabb"
// 如果再消除中间的三个a剩下"bbb"
// 最后消除三个b不留下任何字符返回0这才是最优解
public class Code02_DeleteAdjacentSameCharacter {
public class Code03_DeleteAdjacentSameCharacter {
// 暴力解
public static int restMin1(String s) {

@ -1,6 +1,6 @@
package class45;
package class46;
public class Code03_StrangePrinter {
public class Code01_StrangePrinter {
public static int strangePrinter(String s) {
if (s == null || s.length() == 0) {

@ -1,15 +1,13 @@
package class46;
public class Code01_RestoreWays {
/*
* arrn(3 <= n <= 10^4)<=200 1. 0arr[0] <=
* arr[1] 2. n-1arr[n-1] <= arr[n-2] 3. iarr[i] <= max(arr[i-1],
* arr[i+1]) arrkk0
* arr [6,0,9] [6,9,9]1 [6,9,9]
*
* [ ...... 0 0]
*/
// 整型数组arr长度为n(3 <= n <= 10^4),最初每个数字是<=200的正数且满足如下条件
// 1. 0位置的要求arr[0]<=arr[1]
// 2. n-1位置的要求arr[n-1]<=arr[n-2]
// 3. 中间i位置的要求arr[i]<=max(arr[i-1],arr[i+1])
// 但是在arr有些数字丢失了比如k位置的数字之前是正数丢失之后k位置的数字为0
// 请你根据上述条件计算可能有多少种不同的arr可以满足以上条件
// 比如 [6,0,9] 只有还原成 [6,9,9]满足全部三个条件所以返回1种即[6,9,9]达标
public class Code02_RestoreWays {
public static int ways0(int[] arr) {
return process0(arr, 0);
Loading…
Cancel
Save