Rumah > Java > javaTutorial > Algoritma LeetCode DayGreedy Bahagian 5

Algoritma LeetCode DayGreedy Bahagian 5

王林
Lepaskan: 2024-07-18 20:38:30
asal
1087 orang telah melayarinya

56. Selang Gabungan

Memandangkan tatasusunan selang dengan selang[i] = [starti, endi], gabungkan semua selang bertindih dan kembalikan tatasusunan selang tidak bertindih yang meliputi semua selang dalam input.

Contoh 1:

Input: selang = [[1,3],[2,6],[8,10],[15,18]]
Output: [[1,6],[8,10],[15,18]]
Penjelasan: Memandangkan selang [1,3] dan [2,6] bertindih, gabungkannya menjadi [1,6].
Contoh 2:

Input: selang = [[1,4],[4,5]]
Output: [[1,5]]
Penjelasan: Selang [1,4] dan [4,5] dianggap bertindih.

Kekangan:

1 <= selang.panjang <= 10^4
selang[i].panjang == 2
0 <= mula <= tamat <= 10^4
Halaman Asal

    public int[][] merge(int[][] intervals) {
        if(intervals.length <= 1){
            return intervals;
        }
        Arrays.sort(intervals, (a,b)->{
            return Integer.compare(a[0], b[0]);
        });

        List list = new ArrayList();
        for(int i=1; i= intervals[i][0]){
                intervals[i][0] = intervals[i-1][0];
                intervals[i][1] = Math.max(intervals[i-1][1], intervals[i][1]);

            } else{
                list.add(intervals[i-1]);
            }
        }
        list.add(intervals[intervals.length-1]);
        return list.toArray(new int[list.size()][]);
    }




738. Angka Bertambah Monoton

Integer mempunyai digit peningkatan monoton jika dan hanya jika setiap pasangan digit bersebelahan x dan y memenuhi x <= y.

Diberi integer n, kembalikan nombor terbesar yang kurang daripada atau sama dengan n dengan angka monoton bertambah.

Contoh 1:

Input: n = 10
Keluaran: 9
Contoh 2:

Input: n = 1234
Output: 1234
Contoh 3:

Input: n = 332
Keluaran: 299

Kekangan:

0 <= n <= 10^9

    public int monotoneIncreasingDigits(int n) {
        if(n<10){
            return n;
        }
        String str = Integer.toString(n);
        char[] arr = new char[str.length()];
        arr[0] = str.charAt(0);

        int pos = -1;
        for(int i=1; i arr[i-1]){
                pos = i;
            }
            arr[i] = str.charAt(i);
        }
        if(arr[0] <=0){
            // cost space by using String
            str = new String(arr, 1,arr.length);
        }else{
            str = new String(arr);
        }
        return Integer.valueOf(str);
    }




Image description

Atas ialah kandungan terperinci Algoritma LeetCode DayGreedy Bahagian 5. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan