HACKING 120% {Hacking, programmazione, computer & molto altro}

Trova il GAP

« Older   Newer »
  Share  
*Atwa*
view post Posted on 20/10/2011, 18:35     +1   -1




Definizione di GAP
- Sia A una lista di n interi.
- Diremo gap un indice i ( 0 <= i <= n) per cui A[ i ] < A[i + 1].

Problema

Data una lista A di n interi, con n >=1 e A[0] < A[n], descrivere un algoritmo che trovi un gap.

Per i più affamati:
l'algoritmo deve trovare il numero di tutti i gap.

Esempio
A = [1,1,2]
L'indice di gap è 1, poichè tra il primo e il secondo indice c'è questa differenza.

A = [1,2,3,4,4,4,5]
L'indice di gap è anche ora 1, perchè il primo numero è 1 e il secondo 2.
Tuttavia esistono gap in: A[0], A[1], A[2], A[5].


Fonte:python-it.org
ottimo esercizio, provate ad implementarlo :)
 
Top
view post Posted on 21/10/2011, 19:00     +1   -1
Avatar

Water can take unforseen forms.

Group:
Founder
Posts:
5,273
Reputation:
+1,147
Location:
Shabang

Status:


non capisco... cio bisogna trovare i numeto vhr sono al posto giusto?

cioè, cosa intendi per indice?
 
Web  Top
*Atwa*
view post Posted on 21/10/2011, 19:20     +1   -1




CITAZIONE (Wet Water @ 21/10/2011, 20:00) 
non capisco... cio bisogna trovare i numeto vhr sono al posto giusto?

cioè, cosa intendi per indice?

Diremo gap un indice i ( 0 <= i <= n) per cui A[ i ] < A[ i + 1].
cosa non hai capito della definizione?Spiegati meglio.
Un'indice, cos'è un indice?
a=[1,2,3]
a[0] = 1
a[1]=2
a[2]=3
[x] è un'indice
 
Top
view post Posted on 21/10/2011, 19:30     +1   -1
Avatar

Water can take unforseen forms.

Group:
Founder
Posts:
5,273
Reputation:
+1,147
Location:
Shabang

Status:


n indica infinito?
 
Web  Top
*Atwa*
view post Posted on 21/10/2011, 19:40     +1   -1




CITAZIONE (Wet Water @ 21/10/2011, 20:30) 
n indica infinito?

n indica un numero qualsiasi
 
Top
view post Posted on 21/10/2011, 19:43     +1   -1
Avatar

Water can take unforseen forms.

Group:
Founder
Posts:
5,273
Reputation:
+1,147
Location:
Shabang

Status:


ma n lo prendo in input? (la lista come faccio ad ottenerla?
 
Web  Top
*Atwa*
view post Posted on 21/10/2011, 19:52     +1   -1




CITAZIONE (Wet Water @ 21/10/2011, 20:43) 
ma n lo prendo in input? (la lista come faccio ad ottenerla?

la definisci tu xD
l = [1,2,3,4,4,4,5]
da input è lo stesso ma fai più passaggi xD
 
Top
view post Posted on 21/10/2011, 22:11     +1   -1
Avatar

Water can take unforseen forms.

Group:
Founder
Posts:
5,273
Reputation:
+1,147
Location:
Shabang

Status:


finalmente ho capito...domani la implemento, ma se tipo fosse:
a = [1,2,8,10,10,10]
il passaggio tra due e otto lo conto come gap?

Fatto 'moltamente' veloce, in fatto di giro fa schifo, lo so, non mi mettere ancora il source che faresti tu, domani provo a farlo io con for, per l' input faccio poure quello domani:

CODICE
list = [1,2,3,4,4,4,5]
a = len(list)
c = -1
while c != a-2:
   c += 1
   if list[c] < list[c+1]:
       print list[c], 'è un gap'
   else:
       print list[c], 'non è un gap'
 
Web  Top
*Atwa*
view post Posted on 22/10/2011, 11:55     +1   -1




CITAZIONE (Wet Water @ 21/10/2011, 23:11) 
finalmente ho capito...domani la implemento, ma se tipo fosse:
a = [1,2,8,10,10,10]
il passaggio tra due e otto lo conto come gap?

Fatto 'moltamente' veloce, in fatto di giro fa schifo, lo so, non mi mettere ancora il source che faresti tu, domani provo a farlo io con for, per l' input faccio poure quello domani:

CODICE
list = [1,2,3,4,4,4,5]
a = len(list)
c = -1
while c != a-2:
   c += 1
   if list[c] < list[c+1]:
       print list[c], 'è un gap'
   else:
       print list[c], 'non è un gap'

Consiglio, non usare i nomi built(come list, dict str ecc) in per dichiarare variabili

Edited by *Atwa* - 22/10/2011, 14:05
 
Top
view post Posted on 22/10/2011, 12:44     +1   -1
Avatar

Water can take unforseen forms.

Group:
Founder
Posts:
5,273
Reputation:
+1,147
Location:
Shabang

Status:


come?
 
Web  Top
*Atwa*
view post Posted on 22/10/2011, 13:00     +1   -1




CITAZIONE (Wet Water @ 22/10/2011, 13:44) 
come?

come cosa?
list è un nome built ini nomi, built in, non si devono usare come nome di una variabilie/funzione/classe.
 
Top
view post Posted on 22/10/2011, 13:02     +1   -1
Avatar

Water can take unforseen forms.

Group:
Founder
Posts:
5,273
Reputation:
+1,147
Location:
Shabang

Status:


ah si, non avevo capito la frase da te scriitta sopra
 
Web  Top
*Atwa*
view post Posted on 22/10/2011, 13:06     +1   -1




CITAZIONE (Wet Water @ 22/10/2011, 14:02) 
ah si, non avevo capito la frase da te scriitta sopra

corretta :)
 
Top
view post Posted on 2/12/2011, 15:44     +1   -1
Avatar

Water can take unforseen forms.

Group:
Founder
Posts:
5,273
Reputation:
+1,147
Location:
Shabang

Status:


CODICE
def gap(lista, num):
   if lista[num] == lista[num-1]:
       print '%d è un gap' %(lista[num-1])
   if num < len(lista)-1:
       gap(lista,num+1)
   
lista = [1,2,3,4,4,3,2,4,6,8,0,5,7,8,9,32,1,4,6,7,9,56,4,3,4,5]
lista.sort()
gap(lista,0)


In ricorsivo...
 
Web  Top
13 replies since 20/10/2011, 18:35   133 views
  Share