2738 - Dist Lung Max
Cerinţa
Se dă un șir de caractere care conține cuvinte formate din litere mici ale alfabetului englez și separate printr-un singur spațiu. Să se determine cel mai lung cuvânt care are toate literele distincte. Dacă nu există niciun cuvânt cu toate literele distincte se va afișa -1.
Date de intrare
Programul citește de la tastatură un șir de caractere.
Date de ieşire
Programul va afișa pe ecran cuvântul determinat sau -1, conform cerinței.
Restricții și precizări
- șirul dat conține maximum 255 de caractere
- dacă există mai multe cuvinte cu toate literele distincte de lungime maximă se va afișa cel mai din stânga
Exemplu
- Intrare
- abcabcd abcdef ab
- Ieșire
- abcdef
Rezolvare
<syntaxhighlight lang="python" line> def cel_mai_lung_cuvant_cu_litere_distincte():
# Citim șirul de la tastatură s = input() # Împărțim șirul în cuvinte cuvinte = s.split() # Inițializăm lungimea maximă și cuvântul maxim lungime_maxima = -1 cuvant_maxim = "" # Parcurgem fiecare cuvânt for cuvant in cuvinte: # Verificăm dacă toate literele sunt distincte if len(cuvant) == len(set(cuvant)): # Dacă sunt, verificăm dacă lungimea cuvântului este mai mare decât lungimea maximă if len(cuvant) > lungime_maxima: # Dacă este, actualizăm lungimea maximă și cuvântul maxim lungime_maxima = len(cuvant) cuvant_maxim = cuvant # Returnăm cuvântul maxim dacă există, altfel returnăm -1 return cuvant_maxim if cuvant_maxim else -1
print(cel_mai_lung_cuvant_cu_litere_distincte())
</syntaxhighlight>