第一题
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int T = scan.nextInt();
for (int i = 0; i < T; i++) {
int n = scan.nextInt(), k = scan.nextInt();
System.out.println(getNum(n, k));
}
}
private static String getNum(int n, int k) {
if (n == 1) return String.valueOf(k - 1);
int num = 0;
StringBuilder sb = new StringBuilder();
if (n % 2 == 0) {
num = (int) Math.pow(10, n / 2 - 1);
num += k - 1;
sb.append(num);
String str = sb.reverse().toString();
sb.reverse().append(str);
} else {
num = (int) Math.pow(10, n / 2);
num += k - 1;
sb.append(num);
String str = sb.reverse().toString();
str = str.substring(1);
sb.reverse().append(new StringBuilder(str));
}
return sb.toString();
}
}
第二题
import java.util.*;
public class Test2 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int T = scan.nextInt();
HashMap<Integer, List<Integer>> map = new HashMap<>();
for (int i = 0; i < T; i++) {
int n = scan.nextInt(), k = scan.nextInt();
List<Integer> list = map.getOrDefault(k, new ArrayList<>());
list.add(n);
map.put(k, list);
}
List<Map.Entry<Integer, List<Integer>>> li = new ArrayList<>(map.entrySet());
Collections.sort(li, new Comparator<Map.Entry<Integer, List<Integer>>>() {
@Override
public int compare(Map.Entry<Integer, List<Integer>> o1, Map.Entry<Integer, List<Integer>> o2) {
return o1.getKey().compareTo(o2.getKey());
}
});
System.out.println(getNum(li, T));
}
private static int getNum(List<Map.Entry<Integer, List<Integer>>> li, int n) {
int all = 0, res = n, result = 0;
for (int i = 0; i < li.size(); i++) {
List<Integer> list = li.get(i).getValue();
Collections.sort(list, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2.compareTo(o1);
}
});
for (int j = 0; j < list.size(); j++) {
all += list.get(j);
res--;
result += li.get(i).getKey();
if (all >= res)
return result;
}
}
return result;
}
}
第三题
import java.util.Scanner; public class Test3 { public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String str = scan.nextLine();
str = str.substring(1, str.length() - 1);
String[] strs = str.split(","); int[] array = new int[strs.length]; for (int i = 0; i < strs.length; i++)
array[i] = Integer.parseInt(strs[i].trim());
System.out.println(maxSum(array));
} private static int maxSum(int[] array) { if (array.length == 0) return 0; int val = array[0], max = array[0]; for (int i = 1; i < array.length; i++) { if (val > 0)
val += array[i]; else val = array[i]; if (max < val)
max = val;
} return max;
}
}