百度技术笔试
//第一题 import java.awt.Point; import java.math.BigDecimal; import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); long m=sc.nextLong(); long n=sc.nextLong(); long k=sc.nextLong(); if(m>n) System.out.println(sum1(n, m, k)); else System.out.println(sum1(m, n, k)); } public static long sum1 (long m ,long n,long k) { for(long i=1;i<m;i++) if((m-i)*n<k) return i; return m; }
第二题:
import java.awt.Point; import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T=sc.nextInt(); while (T-->0) { int n=sc.nextInt(); Point[] array =new Point[n]; for (int i = 0; i < n; i++) array[i]=new Point(sc.nextInt(),sc.nextInt()); Arrays.sort(array, new Comparator<Point>() { @Override public int compare(Point p1, Point p2) { if( p1.y == p2.y ) return p1.x-p2.x; return p1.y-p2.y; } }); int sum=0; int key=0; for (int i = 0; i < array.length; i++) { if(sum+array[i].x>array[i].y) { key++; break; } } if(key==1) System.out.println("No"); else System.out.println("Yes"); } } }
第三题 import java.awt.Point; import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T=sc.nextInt(); while (T-->0) { int n=sc.nextInt(); Queue<Point> queue12=new LinkedList<Point>();//0 Queue<Point> queue22=new LinkedList<Point>();//n HashMap<Integer, Integer> map1=new HashMap<Integer, Integer>(); HashMap<Integer, Integer> map2=new HashMap<Integer, Integer>(); map1.put(1, 1); map2.put(n, n); LinkedList<Point> list =new LinkedList<Point>(); for (int i = 0; i < n-1; i++) { Point point=new Point(sc.nextInt(),sc.nextInt()); list.add(point); } while (!list.isEmpty()){ for (int i = 0; i < list.size(); i++) if(map1.get(list.get(i).x)!=null ||map1.get(list.get(i).y)!=null) { queue12.add(list.get(i)); list.remove(i); i--; } while(!queue12.isEmpty()) { Point p = queue12.poll(); map1.put(p.x, p.x); map1.put(p.y, p.y); } for (int i = 0; i < list.size(); i++) if(map2.get(list.get(i).x)!=null ||map2.get(list.get(i).y)!=null) { queue22.add(list.get(i)); list.remove(i); i--; } while(!queue22.isEmpty()) { Point p = queue22.poll(); map2.put(p.x, p.x); map2.put(p.y, p.y); } } if(map1.size()>map2.size()) System.out.println("niuniu"); else System.out.println("niumei"); } } }
第三题有点超时,而且这个题有问题,没有明确谁先,谁后(这个会影响部分测试用例),我默认牛牛先~~