美团ai面试

1.timewait(说一半发现说错了,直接换题)
2.http状态码
3.xxx(忘了是啥了,直接换了)
4.查看文件的命令
5.聚合函数
6.java类加载器,类加载过程
7.缓存穿透 击穿 雪崩
8.设计一个高可用的缓存,考虑一致性和故障恢复
9.实验室和实习过程中遇到的困难,怎么解决,结果怎么样,举例说明
全部评论

相关推荐

10-15 20:50
已编辑
门头沟学院 Java
小红拿到了一个长度为n的数组 a,每次操作小红可以选择数组中的任意一个数减去 x,小红一共能进行 k 次。小红想在 k 次操作之后,数组的最大值尽可能小。请你返回这个最大值。n为1~10^5a,k,x为1~10^9示例输入:5  3  51  4  3  11  2输入为n,k,x 以及数组a的值示例输出:3想知道这道题有没有比堆排更好的做法,我堆排一直tle。import java.util.PriorityQueue;import java.util.Scanner;public class Main {    public static void main(String[] args) {        Scanner scanner = new Scanner(System.in);        int n = scanner.nextInt();        long k = scanner.nextLong();        long x = scanner.nextLong();        long[] a = new long[n];        PriorityQueue<Long> pq = new PriorityQueue<>((o1, o2) -> o2.compareTo(o1));        for(int i =0;i<n;i++){            a[i] = scanner.nextLong();            pq.add(a[i]);        }        while(k>0){            Long top = pq.poll();            Long nextTop = pq.peek();            Long dif = top-nextTop;            Long num = dif/x;            num = Math.min(k-1,num);            k-=(num+1);            top-=(num+1)*x;            pq.add(top);        }        System.out.println(pq.peek());    }}
点赞 评论 收藏
分享
点赞 4 评论
分享
牛客网
牛客企业服务