2738 - Dist Lung Max

From Bitnami MediaWiki
Revision as of 18:23, 4 November 2023 by AntalKrisztian (talk | contribs) (Pagină nouă: == 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...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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>