京东笔试
第一题,只过了82,考虑的比较简单,因为长方体是对称的,所以查看是不是小于等于三条不重复的边,如果是则是,如果不是则不能构成正方体。
package SiumCode.Exam;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Main01 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
for(int i =0;i<n;i++){
Set<Integer> set = new HashSet<>();
for(int j=0;j<12;j++){
set.add(in.nextInt());
}
if(set.size()<=3){
System.out.println("POSSIBLE");
}else {
System.out.println("IMPOSSIBLE");
}
}
}
} 第二题是查看同一时刻重复区间最多有多少,这个值就是结果。 package SiumCode.Exam;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Main02 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()){
int t = in.nextInt();
int[] start = new int[t];
Set<Integer> set = new HashSet<>();
int[] end = new int[t];
for(int i=0;i<t;i++){
start[i] = in.nextInt();
//set.add(in.nextInt());
end[i] = in.nextInt();
}
int count = 0;
for(int i=0;i<t;i++){
int temp = 0;
for (int j=0;j<t;j++){
if(i==j){
continue;
}else {
if((start[j] >= start[i] && start[j] <= end[i]) || (end[j]>=start[i]&&end[j]<end[i])){
temp++;
}
}
count = Math.max(count,temp);
}
}
System.out.println(count+1);
}
}
}这是第二题的解析链接:https://www.jianshu.com/p/3948fda91d3d

查看20道真题和解析