百度技术笔试

//第一题
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");
        }
    }   
}

第三题有点超时,而且这个题有问题,没有明确谁先,谁后(这个会影响部分测试用例),我默认牛牛先~~


#百度##笔试题目##Java工程师##题解#

注意!此信息未认证,请谨慎判断信息的真实性!

全部评论
点赞 7 评论
分享