IO
package InterView.YunCongKeji;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main_1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()){
long candies = scanner.nextLong();
long num_people = scanner.nextLong();
if (num_people == 0)
continue;
if (num_people == 1){
System.out.println("["+candies+"]");
}
long sum = (1+num_people)*num_people/2;
long add_per_time = num_people*num_people;
int count = 0;
long cur_sum = count*add_per_time + sum;
while (candies>cur_sum){
candies -= cur_sum;
count++;
cur_sum = count*add_per_time + sum;
}
int index =1;
long temp_val = count*num_people+index;
while (candies>temp_val){
candies -= temp_val;
index++;
temp_val = count*num_people+index;
}
List<Long> result = new ArrayList<>();
for (int i=1; i<index; i++){
long temp = (1+count)*count/2 *num_people + i*(count+1);
result.add(temp);
}
long temp = (1+count-1)*count/2 *num_people + index*(count)+ candies;
result.add(temp);
count--;
for (int i= index+1; i<=num_people;i++){
temp = (1+count)*count/2 *num_people + i*(count+1);
result.add(temp);
}
//[1,2,3,1]
System.out.print("[");
int i=0;
for (; i<result.size()-1;i++){
System.out.print(result.get(i)+",");
}
System.out.println(result.get(i)+"]");
}
}}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package InterView.YunCongKeji;
import java.util.*;
public class Main_2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()){
String data1 = scanner.nextLine();
String data2 = scanner.nextLine();
String[] data_1 = data1.subSequence(1,data1.length()-1).toString().split(",");
String[] data_2 = data2.subSequence(1,data2.length()-1).toString().split(",");
HashSet<Integer> set_1= new HashSet<>();
HashSet<Integer> set_2 = new HashSet<>();
for (int i=0; i<data_1.length; i++){
int temp = Integer.valueOf(data_1[i]);
set_1.add(temp);
}
for (int i=0; i< data_2.length; i++){
int temp = Integer.valueOf(data_2[i]);
set_2.add(temp);
}
Set<Integer> temp_set = new HashSet<>();
temp_set.addAll(set_1);
temp_set.removeAll(set_2);
set_1.removeAll(temp_set);
List<Integer> result = new ArrayList<>();
result.addAll(set_1);
Collections.sort(result);
System.out.print("[");
int i=0;
for (; i<result.size()-1; i++){
System.out.print(result.get(i)+",");
}
System.out.println(result.get(i)+"]");
}
}}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package InterView.YunCongKeji;
import java.util.Scanner;
public class Main_3 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()){
String data = scanner.nextLine();
int amount = Integer.valueOf(scanner.nextLine());
String[] string_array = data.subSequence(1,data.length()-1).toString().split(",");
int[] coins = new int[string_array.length];
for (int i=0; i<coins.length; i++){
coins[i] = Integer.valueOf(string_array[i].trim());
}
int[] dp = new int[amount+1];
for (int j=0; j<coins.length; j++)
dp[coins[j]] = 1;
for (int i=1; i<dp.length; i++){
if (dp[i] == 0)
continue;
for (int j=0; j<coins.length; j++){
int index = i+ coins[j];
if (index>=dp.length)
continue;
if (dp[index] == 0)
dp[index] = dp[i]+1;
else
dp[index] = Math.min(dp[index],dp[i]+1);
}
}
if (dp[amount]==0)
System.out.println(-1);
else
System.out.println(dp[amount]);
}
}}
查看23道真题和解析