|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2001
Città: Salerno
Messaggi: 649
|
[JAVA] n interi consecutivi da una struttura
Salve,
ho questo problema. Data una sequenza di interi, devo poter stabilire se in tale sequenza sono contenuti n interi consecutivi. Per ora sono riuscito a fare questo: ad esempio se ho la lista 2,3,7,9,10,11 mi calcolo 2,3,9,10,11. Ora di questa lista mi interessa sapere se vi sono contenuti n interi positivi. Si accettano suggerimenti :P
__________________
Ho concluso positivamente con : yellope, simpon, angelomavino, EltricBlue, gridalo, fastez, irK, fabio536,Reiser Darkside, AMING, Mystik85
|
|
|
|
|
|
#2 |
|
Messaggi: n/a
|
sono l'unico a non aver capito cosa dici?
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Sep 2001
Città: Salerno
Messaggi: 649
|
Quote:
allora faccio un esempio pratico. Ho la mia lista di interi 2,3,7,9,10,11,15,17. Voglio sapere se ci sono (ad esempio) 3 numeri interi consecutivi, in questo caso si, e sono 9,10,11. Quello che sono riuscito a fare fino ad ora è calcolarmi una nuova lista solo con numeri interi consecutivi tra loro, quindi nell'esempio precedente 2,3,9,10,11. Ora avendo questa lista, come faccio a sapere se ci sono 3 numeri consecutivi?
__________________
Ho concluso positivamente con : yellope, simpon, angelomavino, EltricBlue, gridalo, fastez, irK, fabio536,Reiser Darkside, AMING, Mystik85
|
|
|
|
|
|
|
#4 |
|
Messaggi: n/a
|
Codice:
public class Consecutivi {
public static void main(String... arg){
trovaConsecutivi(new int[]{2,4,7,8,9,13,16,17,18,19});
}
static void trovaConsecutivi(int[] lista){
for(int i=0; i<lista.length-3;i++)
if(lista[i]==lista[i+1]-1 && lista[i]==lista[i+2]-2)
System.out.println(lista[i]+" "+lista[i+1]+" "+lista[i+2]);
}
}
Ultima modifica di pisto : 25-04-2006 alle 13:26. |
|
|
|
#5 | |
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16214
|
Quote:
Poi, per ciascuna sottosequenza di lunghezza n della sequenza ordinata, controlla se è formata da numeri consecutivi.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Sep 2001
Città: Salerno
Messaggi: 649
|
ragazzi grazie per l'aiuto, anche se ho risolto in maniera differente senza dover ordinare la sequenza.
Codice:
private Vector consecutivi(Vector postiDisponibiliNoComma,int nPosti) {
Vector cons=new Vector();
int val=0,count=0,corrente=0;
Integer intVal,intVal2;
//primo elemento
intVal=Integer.parseInt((String)postiDisponibiliNoComma.elementAt(0));
val=intVal.intValue();
corrente=val;
for(int i=0; i<postiDisponibiliNoComma.size(); i++) {
intVal=Integer.parseInt((String)postiDisponibiliNoComma.elementAt(i));
val=intVal.intValue();
cons.add(val);
if(corrente==val-i) {
corrente=val-i;
count++;
if(count==nPosti)
break;
} else {
cons.removeAllElements();
cons.add(val);
count=1;
corrente=val-i;
}
}
return cons;
}
ciao e grazie
__________________
Ho concluso positivamente con : yellope, simpon, angelomavino, EltricBlue, gridalo, fastez, irK, fabio536,Reiser Darkside, AMING, Mystik85
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:44.










Ho concluso positivamente con : yellope, simpon, angelomavino, EltricBlue, gridalo, fastez, irK, fabio536,Reiser Darkside, AMING, Mystik85









