美团8.27笔试

有大佬做出来喂猫那道题吗?求思路#美团##美团笔试##提前批#
全部评论
每次遇到玩具,就把玩具的时间加入小根堆,遇到猫就从小根堆里拿一个时间,如果时间比直接摸的时间小就用堆顶时间,否则就直接摸。
3 回复 分享
发布于 2022-08-27 19:12 重庆
直接模拟过程即可
1 回复 分享
发布于 2022-08-27 19:06 江苏
优先队列
1 回复 分享
发布于 2022-08-27 19:19 天津
import java.util.*; class Main {     public static void main(String[] args) {         Scanner sc = new Scanner(System.in);         int n = sc.nextInt();         int k = sc.nextInt();         int T = sc.nextInt();         int[] toy=new int[k];         for (int i = 0; i < k; i++) {             toy[i]= sc.nextInt();         }         int res=0;         PriorityQueue<Integer> pq=new PriorityQueue<>();         for (int i = 0; i < n; i++) {             int x=sc.nextInt();             if(pq.size()==0&&x==0){                 res+=T;             }else if(x>0&&x-1<k&&toy[x-1]<T){//key point                 pq.add(toy[x-1]);             }else if(x==0){                 res+=pq.poll();             }         }         System.out.println(res);     } }
1 回复 分享
发布于 2022-08-27 19:21 甘肃
最小堆就行
1 回复 分享
发布于 2022-08-27 20:03 陕西

相关推荐

kyw_:接好运
点赞 评论 收藏
分享
评论
点赞
3
分享
牛客网
牛客企业服务