724. LeetCode encontrar el centro del índice de matriz (Java)

724. encontrar el centro del índice de matriz

Teniendo en cuenta un tipo entero nums matriz, por favor escriba un método para devolver una matriz de "Índice de centro".
Nos central se define como un índice de la matriz: la izquierda del centro del índice de la matriz es igual a la suma de todos los elementos en el lado derecho y la suma de todos los elementos.
Si no existe la matriz índice central, entonces deberíamos volver -1. Si la matriz tiene una pluralidad de índice central, entonces deberíamos volver el más cercano a la izquierda.

Ejemplo 1:
Entrada:
los nums = [1, 7, 3 ,. 6 ,. 5 ,. 6]
de salida: 3
Explicación:
Índice de 3 (nums [3] = 6 ) y un lado izquierdo del número de (3 + 1 + 7 = 11) , y el lado derecho es igual al número de (5 + 6 = 11).
Mientras tanto, 3 es el primer centro en línea con los requisitos del índice.

Descripción:
longitud de nums [0, 10.000].
Cualquier nums [i] serán un número entero en una gama de [-1000, 1000] de.

Fuente: estancia botón (LeetCode)
enlace: https: //leetcode-cn.com/problems/find-pivot-index
propiedad de la deducción de todas las redes. reimpresión comercial póngase en contacto con la reimpresión autorizada oficial, no comercial por favor indique la fuente.

class Solution {
    public int pivotIndex(int[] nums) {
        if(nums.length==0)
        {
            return -1;
        }
        int sum=0;
        int sumLeft=0;
        for(int i:nums)
        {
            sum+=i;//先计算出整个数组的累加和
        }
        for(int j=0;j<nums.length;j++)
        {
            //如果左边的累加和等于总和减去左边累加和再减去当前元素的值,则当前元素的下标即为数组的中心索引
            if(sumLeft==sum-sumLeft-nums[j])
            {
                return j;
            }
            sumLeft+=nums[j];
        }
        return -1;
    }
}
Publicado 88 artículos originales · ganado elogios 0 · Vistas 2157

Supongo que te gusta

Origin blog.csdn.net/nuts_and_bolts/article/details/105095812
Recomendado
Clasificación