As perguntas da entrevista 16.17 série contínua

Dado um conjunto de inteiros (número positivo com um número negativo), para calcular a soma do número máximo de colunas consecutivas, e retorna a soma.

exemplo:

Entrada: [-2,1, -3,4, -1,2,1, -5,4]
Saída: 6
Explicação: subarray contínuo [4, -1,2,1], e o valor máximo foi de 6.

 

ideias de resolução de problemas:

Programação Dinâmica: cálculo do índice atual até agora, ea maior subarray contínua, neste momento, e max (no máximo antes do atual elemento subarray +, 0 + elemento atual)

implementação de código:

class Solution {
    public int maxSubArray(int[] nums) {
        int len=nums.length;
        int max=nums[0];
        for(int i=1;i<len;++i){
            nums[i]+=Math.max(nums[i-1],0);
        }
        for(int i=0;i<len;++i){
            if(max<nums[i]){
                max=nums[i];
            }
        }
        return max;
    }
}

 

Publicado 253 artigos originais · ganhou elogios 15 · vê 30000 +

Acho que você gosta

Origin blog.csdn.net/junjunjiao0911/article/details/104530590
Recomendado
Clasificación