京东java笔试题,题解

京东java笔试题,题解
第一道求是否是完全多部图,说实话这题目题意理解了好久,才发现2个点集合是否相交。我想法直接用邻接矩阵来存储图,然后暴力搜索就可以了,但只ac了百分之80多,不知道哪出问题了
第二题挺简单的,还是直接暴力搜索吧。
//第一题
import java.util.Scanner;
public class jindong {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for(int i=0;i<T;i++){
int n = sc.nextInt();
int m = sc.nextInt();
if(m == 0){
System.out.println("No");
continue;
}
int a[][] = new int[n][n];
for(int j=0;j<m;j++){
int x = sc.nextInt();
int y = sc.nextInt();
a[x-1][y-1] = 1;
a[y-1][x-1] = 1;
}
boolean zt[] = new boolean[n];  //每个分组的状态
for(int k=0;k<n;k++){ //分组暴力搜索,0..k和k..n-1
for(int l=0;l<=k;l++){ //这2个循环,判断第一组所有元素和第二组所有是否邻接
for(int r=n-l-1;r<n;r++){
if(a[l][r] == 1 || a[r][l] == 1){ //若矩阵元素是1表示邻接
zt[k]=true;
break;
}
}
}
}
boolean zt1 = false;
for(int kk=0;kk<n;kk++){ //若每个分组状态都为true,表示是完全多部图
if(zt[kk] == false){
break;
}
zt1 = true;
}
if(zt1 == true) System.out.println("Yes");
else System.out.println("No");
}
}
}

//第二题 求不合格产品个数,设置一个状态数组表示是否被确认为不合格,直接暴力搜索
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int a[] = new int[n];
int b[] = new int[n];
int c[] = new int[n];
for(int i=0;i<n;i++){
a[i] = sc.nextInt();
b[i] = sc.nextInt();
c[i] = sc.nextInt();
}
boolean used[] = new boolean[n];
int count=0;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(a[j]>a[i] && b[j]>b[i] &&c[j]>c[i] && used[i]==false){
count++;
used[i] = true;
break;
}
}
}
System.out.println(count);
}




#京东##题解##笔试题目#
全部评论

相关推荐

野猪不是猪🐗:我assume that你must技术aspect是solid的,temperament也挺good的,however面试不太serious,generally会feel style上不够sharp
点赞 评论 收藏
分享
Yki_:以下条件优先录用: 喜欢去缅北当猪仔的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务