Heim > Java > javaLernprogramm > Hauptteil

LeetCode DayGreedy-Algorithmen Teil 5

王林
Freigeben: 2024-07-18 20:38:30
Original
1028 Leute haben es durchsucht

56. Intervalle zusammenführen

Gegeben ein Array von Intervallen, wobei Intervalle[i] = [starti, endi], alle überlappenden Intervalle zusammenführen und ein Array der nicht überlappenden Intervalle zurückgeben, die alle Intervalle in der Eingabe abdecken.

Beispiel 1:

Eingabe: Intervalle = [[1,3],[2,6],[8,10],[15,18]]
Ausgabe: [[1,6],[8,10],[15,18]]
Erläuterung: Da sich die Intervalle [1,3] und [2,6] überlappen, führen Sie sie zu [1,6] zusammen.
Beispiel 2:

Eingabe: Intervalle = [[1,4],[4,5]]
Ausgabe: [[1,5]]
Erläuterung: Die Intervalle [1,4] und [4,5] gelten als überlappend.

Einschränkungen:

1 <= Intervalle.Länge <= 10^4
Intervalle[i].length == 2
0 <= starti <= endi <= 10^4
Originalseite

    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. Monoton steigende Ziffern

Eine ganze Zahl hat genau dann monoton steigende Ziffern, wenn jedes Paar benachbarter Ziffern x und y die Bedingung x <= y erfüllt.

Geben Sie bei einer gegebenen ganzen Zahl n die größte Zahl zurück, die kleiner oder gleich n ist, mit monoton steigenden Ziffern.

Beispiel 1:

Eingabe: n = 10
Ausgabe: 9
Beispiel 2:

Eingabe: n = 1234
Ausgabe: 1234
Beispiel 3:

Eingabe: n = 332
Ausgabe: 299

Einschränkungen:

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

Das obige ist der detaillierte Inhalt vonLeetCode DayGreedy-Algorithmen Teil 5. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage