本文主要是介绍BUPT2010网研院机试Java题解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
第一题
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;public class i1001 {public static void main(String[] args) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);while(sc.hasNext()) {int n = sc.nextInt();Set<Integer> set = new HashSet<Integer>();for(int i =0;i<n;i++) {int a = sc.nextInt();set.add(a);}int m = sc.nextInt();for(int i = 0;i<m;i++) {int a = sc.nextInt();if(set.contains(a)) {System.out.println("YES");}else {System.out.println("NO");}}}sc.close();}}
第二题
import java.util.Arrays;
import java.util.Scanner;public class i1002 {public static void main(String[] args) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);while(sc.hasNext()) {int n = sc.nextInt();int[] arr = new int[n];for(int i = 0;i<n;i++) {arr[i] = sc.nextInt();}Arrays.sort(arr);int k = sc.nextInt();int i = 0;//用来算第几个最小,开始是0个int temp = -1;//用来走数组下标while(true) {if(i==k) {break;}temp++;//开始是0if(i==0) {i++;//有一个最小的了}else {if(arr[temp]!=arr[temp+1]) {i++;}}}System.out.println(arr[temp]);}sc.close();}}
第三题
import java.util.Scanner;public class i1003 {public static void main(String[] args) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);while(sc.hasNext()) {String s1 = sc.next();String s2 = sc.next();int[] arr = new int[10];//存牌for(int i = 0;i<s1.length();i++) {arr[s1.charAt(i)-'0']++;}//分析s2//1 2 3 4的情况是一样的if(s2.length()<5) {int k = s2.charAt(0)-'0';int flag = 0;//标记能不能打过for(int i = k+1;i<10;i++) {if(arr[i]>s2.length()) {flag = 1;break;}}if(flag == 1) {System.out.println("YES");}else {System.out.println("NO");}}else {int k = s2.charAt(0)-'0';int flag = 0;for(int i = k+1;i<10;i++) {int sum = 0;for(int j = 0;j<5;j++) {if(arr[i+j]>0) {sum++;}else {break;}}if(sum == 5) {flag = 1;break;}}if(flag == 1) {System.out.println("YES");}else {System.out.println("NO");}}}sc.close();}}
第四题
借助队列实现BFS可以实现。
这篇关于BUPT2010网研院机试Java题解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!