就是想提交

pull/3/head
左程云 5 years ago
parent 582ca375f6
commit 842f10d5bb

@ -133,12 +133,12 @@ public class Code06_Coffee {
for (int washLine = 0; washLine <= limit; washLine++) { for (int washLine = 0; washLine <= limit; washLine++) {
dp[N - 1][washLine] = Math.min(Math.max(washLine, drinks[N - 1]) + a, drinks[N - 1] + b); dp[N - 1][washLine] = Math.min(Math.max(washLine, drinks[N - 1]) + a, drinks[N - 1] + b);
} }
for(int index = N - 2; index >=0;index--) { for (int index = N - 2; index >= 0; index--) {
for(int washLine = 0; washLine <= limit; washLine++) { for (int washLine = 0; washLine <= limit; washLine++) {
int p1 = Integer.MAX_VALUE; int p1 = Integer.MAX_VALUE;
int wash = Math.max(washLine, drinks[index]) + a; int wash = Math.max(washLine, drinks[index]) + a;
if(wash <= limit) { if (wash <= limit) {
p1 = Math.max(wash, dp[index+1][wash]); p1 = Math.max(wash, dp[index + 1][wash]);
} }
int p2 = Math.max(drinks[index] + b, dp[index + 1][washLine]); int p2 = Math.max(drinks[index] + b, dp[index + 1][washLine]);
dp[index][washLine] = Math.min(p1, p2); dp[index][washLine] = Math.min(p1, p2);
@ -196,40 +196,33 @@ public class Code06_Coffee {
} }
public static void main(String[] args) { public static void main(String[] args) {
int[] arr = {1,1,5,5,7,10,12,12,12,12,12,12,15}; int[] test = { 1, 1, 5, 5, 7, 10, 12, 12, 12, 12, 12, 12, 15 };
int a = 3; int a1 = 3;
int b = 10; int b1 = 10;
System.out.println(process(arr, a, b, 0, 0)); System.out.println(process(test, a1, b1, 0, 0));
System.out.println(dp(arr, a, b)); System.out.println(dp(test, a1, b1));
int len = 5; int len = 5;
int max = 9; int max = 9;
int testTime = 50000; int testTime = 50000;
// for (int i = 0; i < testTime; i++) { for (int i = 0; i < testTime; i++) {
// int[] arr = randomArray(len, max); int[] arr = randomArray(len, max);
// int n = (int) (Math.random() * 5) + 1; int n = (int) (Math.random() * 5) + 1;
// int a = (int) (Math.random() * 5) + 1; int a = (int) (Math.random() * 5) + 1;
// int b = (int) (Math.random() * 10) + 1; int b = (int) (Math.random() * 10) + 1;
// int ans1 = minTime1(arr, n, a, b); int ans1 = minTime1(arr, n, a, b);
// int ans2 = minTime2(arr, n, a, b); int ans2 = minTime2(arr, n, a, b);
// int ans3 = minTime3(arr, n, a, b); int ans3 = minTime3(arr, n, a, b);
// if (ans1 != ans2 || ans2 != ans3) { if (ans1 != ans2 || ans2 != ans3) {
// printArray(arr); printArray(arr);
// System.out.println("n : " + n); System.out.println("n : " + n);
// System.out.println("a : " + a); System.out.println("a : " + a);
// System.out.println("b : " + b); System.out.println("b : " + b);
// System.out.println(ans1 + " , " + ans2 + " , " + ans3); System.out.println(ans1 + " , " + ans2 + " , " + ans3);
// System.out.println("==============="); System.out.println("===============");
// break; break;
// } }
// } }
} }

@ -1,7 +1,5 @@
package class12; package class12;
import java.util.HashMap;
public class Code09_CoinsWay { public class Code09_CoinsWay {
// arr中都是正数且无重复值返回组成aim的方法数 // arr中都是正数且无重复值返回组成aim的方法数

Loading…
Cancel
Save