pull/6/head
yuanguangxin 4 years ago
parent 2365b49e75
commit dc0badae83

@ -1,39 +0,0 @@
package .abwl.q1;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String[] s = in.nextLine().split(" ");
if (s.length < 1) {
return;
}
int k = Integer.parseInt(s[0]);
if (k == 0) {
return;
}
List<Integer> nums = new ArrayList<>();
for (int i = 1; i < s.length; i++) {
nums.add(Integer.parseInt(s[i]));
}
in.close();
int sp = nums.size() / k;
Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < nums.size(); i++) {
if (map.containsKey(nums.get(i))) {
int total = map.get(nums.get(i)) + 1;
if (total > sp) {
System.out.print(nums.get(i));
return;
}
map.put(nums.get(i), total);
} else {
map.put(nums.get(i), 1);
}
}
}
}

@ -0,0 +1,33 @@
package .;
import java.util.Scanner;
/**
* F(N) = min{ max(1(), F(N - 1) + 1()), max(2, F(N - 2) + 1), max(3, F(N - 3) + 1), , max(N - 1, F(1))
*/
public class Solution {
public static void main(String[] args) {
int N = 0;
Scanner scanner = new Scanner(System.in);
while (N < 1) {
N = scanner.nextInt();
}
int[] dp = new int[N + 1];
dp[0] = 0;
dp[1] = 1;
for (int i = 2; i <= N; ++i) {
int min = i;
for (int j = 1; j < i; ++j) {
int tmp = Math.max(j, dp[i - j] + 1);
if (tmp < min) {
min = tmp;
}
}
dp[i] = min;
}
System.out.println(dp[N]);
}
}

@ -1,4 +1,4 @@
package .abwl.q2;
package .;
import java.util.*;
Loading…
Cancel
Save