Heim > Java > JavaErste Schritte > So finden Sie den zentralen Index eines Arrays in Java

So finden Sie den zentralen Index eines Arrays in Java

王林
Freigeben: 2020-04-20 16:09:59
nach vorne
2443 Leute haben es durchsucht

So finden Sie den zentralen Index eines Arrays in Java

Zweck:

Schreiben Sie bei gegebenen Array-Zahlen vom Typ Integer eine Methode, die den „Mittelindex“ des Arrays zurückgibt.

Definition des Array-Mittelindex:

Die Summe aller Elemente auf der linken Seite des Array-Mittelindex ist gleich der Summe aller Elemente auf der rechten Seite des Array-Mittelindex . Wenn das Array keinen Mittelindex hat, sollten wir -1 zurückgeben. Wenn das Array mehrere mittlere Indizes hat, sollten wir den Index zurückgeben, der am nächsten links liegt.

Empfohlene verwandte Video-Tutorials: Java-Video

Beispiel 1:

输入: 
nums = [1, 7, 3, 6, 5, 6]
输出: 3
解释: 
索引3 (nums[3] = 6) 的左侧数之和(1 + 7 + 3 = 11),与右侧数之和(5 + 6 = 11)相等。
同时, 3 也是第一个符合要求的中心索引。
Nach dem Login kopieren

Beispiel 2:

输入: 
nums = [1, 2, 3]
输出: -1
解释: 
数组中不存在满足此条件的中心索引。
Nach dem Login kopieren

Anleitung:

Der Längenbereich von Nums beträgt [0, 10000].

Alle Zahlen[i] sind Ganzzahlen im Bereich [-1000, 1000].

Lösungsidee:

Verwenden Sie sum, leftSum und rightSum, um die Summe zu speichern, die Summe auf der linken Seite von i und die Summe auf der rechten Seite von i. Berechnen Sie eine Summe Um die folgenden Berechnungen einfacher zu gestalten, summieren Sie zuerst und verschieben Sie dann ein i von links nach rechts. Beachten Sie, dass i separat betrachtet werden muss, wenn es das erste Element ist. Berechnen Sie die Werte links und rechts von i und vergleichen Sie sie. Wenn leftSum=rightSum, geben Sie i zurück.

Java-Code:

class Solution {
    public int pivotIndex(int[] nums) {
        if (nums == null || nums.length == 0) {
            return -1;
        }
 
        int sum = 0;
        int leftSum = 0;
        int rightSum = 0;
 
        for (int i = 0; i < nums.length; i++) {
            sum += nums[i];
        }
 
        for (int i = 0; i < nums.length; i++) {
            if (i == 0) {
                leftSum = 0;
            } else {
                leftSum += nums[i - 1];
            }
            rightSum = sum - leftSum - nums[i];
 
            if (leftSum == rightSum) {
                return i;
            }
        }
 
        return -1;
    }
}
Nach dem Login kopieren

Empfohlenes Tutorial: Erste Schritte mit Java

Das obige ist der detaillierte Inhalt vonSo finden Sie den zentralen Index eines Arrays in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
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