kiến thức Chia sẻ lộ tình tự học đến khi có OFFER FRESHER (Java) đầu tiên

Chúc mừng bác. Hơi không liên quan lắm nhưng mà bác cho r xin ý tưởng câu 3 đc k ạ :LOL:
Java:
public class Solution {
    private static final int MOD = 1000000007;

    public int solution(int[] A, int C1, int C2) {
        int n = A.length;
        int maxz = Arrays.stream(A).max().getAsInt();
        long res = Long.MAX_VALUE;
        
        for (int i = 0; i <= n; i++) {
            PriorityQueue<Integer> pq = new PriorityQueue<>();
            for (int num : A) {
                pq.offer(num);
            }
            
            int cnt_c1 = 0, cnt_c2 = 0;
            
            while (!pq.isEmpty()) {
                int min_num = pq.poll();
                int sec_min = pq.poll();
                
                if (sec_min == maxz + i) {
                    cnt_c1 = maxz + i - min_num;
                    break;
                }
                
                min_num++;
                sec_min++;
                cnt_c2++;
                pq.offer(min_num);
                pq.offer(sec_min);
            }
            
            res = Math.min(res, (cnt_c1 * C1 + cnt_c2 * C2));
        }
        
        return (int) (res % MOD);
    }
}
 
Java:
public class Solution {
    private static final int MOD = 1000000007;

    public int solution(int[] A, int C1, int C2) {
        int n = A.length;
        int maxz = Arrays.stream(A).max().getAsInt();
        long res = Long.MAX_VALUE;
       
        for (int i = 0; i <= n; i++) {
            PriorityQueue<Integer> pq = new PriorityQueue<>();
            for (int num : A) {
                pq.offer(num);
            }
           
            int cnt_c1 = 0, cnt_c2 = 0;
           
            while (!pq.isEmpty()) {
                int min_num = pq.poll();
                int sec_min = pq.poll();
               
                if (sec_min == maxz + i) {
                    cnt_c1 = maxz + i - min_num;
                    break;
                }
               
                min_num++;
                sec_min++;
                cnt_c2++;
                pq.offer(min_num);
                pq.offer(sec_min);
            }
           
            res = Math.min(res, (cnt_c1 * C1 + cnt_c2 * C2));
        }
       
        return (int) (res % MOD);
    }
}
thanks bác nha
 
Mình cũng apply vào bootcamp nma đến giờ vẫn chưa thấy mail :( chắc tạch r
mình cũng chưa thấy gì chắc tạch thật rồi bro. mình nghĩ chắc thông báo kết quả hết rồi. =((
những người tạch thường sẽ ko có thông báo sớm như người đậu vì cty còn để ra vài vị trí dự bị nữa nếu người đậu ko đồng ý tham gia nữa mấy fen, nhưng mà ko có mail đậu như bác kia thì 99.9% tạch r.
 
những người tạch thường sẽ ko có thông báo sớm như người đậu vì cty còn để ra vài vị trí dự bị nữa nếu người đậu ko đồng ý tham gia nữa mấy fen, nhưng mà ko có mail đậu như bác kia thì 99.9% tạch r.
đọc này xong k biết nên vui hay nên buồn. :confuse:
 
Back
Top