Colocar valores de um vetor em outro

3 respostas
jeovane.reges

Boa tarde a todos do GUJ.

Pessoal tenho o seguinte o problema abaixo.

Uma subsequência contígua de uma sequencia S é uma subsequencia de elementos consecutivos de S. Por exemplo, se S = {5 15 -30 10 -5 40 10}, então (15 -30 10) é uma subsequencia contígua de S, mas (5 15 40) não é. Desse vetor a soma da maior subsequencia é (10 -5 40 10) que é igual a 55.

Então pessoal, ja fiz o algoritmo que me retorna a soma da maior subsequencia que é o seguinte abaixo.

O que eu gostaria de fazer era um vetor que me retornasse esses elemento. Segue abaixo o meu código.

//Resultado 75 { 10, -5, 40, 10, 5, 15, -30 }
package SegundaLista;

import java.util.Vector;

public class ExercicioCanaQ5i
{
    public static void main(String[] args)
    {
        //int[] s = {5, 15, -30, 60, -10, -20, -30};
        //int[] s = {5, 15, -30, 10, -5, 40, 10, -65, 10, -10, 45, 10};
        //int[] s = {10, -5, 40, 10, 5, 15, -90, 15, 20, 80, -10, 50};
        int[] s = {5,30,-15,-5,20,15,-52,5,5,19,15,-40,-5,30,40,-50,-5,70,5,15,-80,10,-5,30};
        Vector s1 = new Vector();
        int valor = 0;

        for (int i = 0; i < s.length; i++)
        {
            int soma = valor;
            soma = soma + s[i];
            
            if (s[i] > soma) { valor = s[i]; }
            else { valor = soma; }
            s1.add(soma);
        }

        int max = (Integer) s1.get(0);
        for (int i = 0; i < s1.size(); i++)
        {
            int scan = (Integer) s1.get(i);
            if (max < scan) max = scan;
        }

        System.out.println("Resultado: " + max);
    }
}

Alguém pode me dizer como que posso fazer isso?
Desde de já obrigado pela atenção de todos.

3 Respostas

fernandopaiva

de uma pesquisada em Collections, vc pode usar ArrayList ou Vector pra isso.

veja.

ArrayList lista = new ArrayList();
lista.add(valoresquequeradd);
//pegar valores
lista.get(0);

t+ e boa sorte

jeovane.reges

Pois é, mas, como que irei fazer para pegar esses valores que me ocasioram uma resposta qualquer?

Essa que é a minha dúvida, pensei exatamente em usar ArrayList. O problema estar em como que irei pegar esses meus valores, entendeu?

fernandopaiva

bom, nao entendi bem o seu conceito sobre pegar os valores…
pelo q entendo, vc tem um vetor q percorre formando valores, basta ir adicionando esses valores ao arraylist com o .add e depois para pegar use .get

como mostrei no exemplo.

t+

Criado 21 de setembro de 2011
Ultima resposta 22 de set. de 2011
Respostas 3
Participantes 2