Programmazione competitivaFacile

Sottosequenza bitonica più lunga

Guida dettagliata e implementazione Python per il problema della "sottosequenza bitonica più lunga".

Dichiarazione del problema

Facile

Scrivi una funzione lbs(arr) che restituisca la lunghezza della sottosequenza bitonica più lunga in un array arr. Una sottosuccessione è bitonica se prima aumenta e poi diminuisce, oppure aumenta strettamente, o diminuisce strettamente.

Vincoli
  • 1 <= len(arr) <= 1000
  • -10^4 <= arr[i] <= 10^4

Esempi

Example 1
Input
lbs([1, 11, 2, 10, 4, 5, 2, 1])
Output
6
Explanation

The longest bitonic subsequence is [1, 2, 10, 5, 2, 1] or [1, 2, 4, 5, 2, 1] with length 6.

Example 2
Input
lbs([12, 11, 40, 5, 3, 1])
Output
5
Explanation

The longest bitonic subsequence is [12, 11, 5, 3, 1] or [11, 40, 5, 3, 1] with length 5.

Need a Hint?
Prendi in considerazione l'utilizzo di strutture dati specifiche della programmazione dinamica come set o heap.
Edge Cases to Watch
  • Strutture di input vuote
  • Ingressi a elemento singolo
  • Grandi limiti numerici

Pronto a risolvere?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Apri nell'editor
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Risorse Python consigliate

Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.