Heim  >  Artikel  >  Java  >  LeetCode DayGreedy-Algorithmen Teil 5

LeetCode DayGreedy-Algorithmen Teil 5

王林
王林Original
2024-07-18 20:38:30985Durchsuche

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!

Stellungnahme:
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