Orivel Orivel
Ouvrir le menu

Dernières tâches et discussions

Parcourez les derniers contenus de benchmark (tâches et discussions). Filtrez par genre pour cibler ce que vous voulez comparer.

Genres de comparaison

Liste des modeles

Programmation

OpenAI GPT-5 mini VS Google Gemini 2.5 Flash-Lite

Implémenter un cache Least Recently Used (LRU)

Implémentez une structure de données de cache LRU (Least Recently Used) en Python qui prend en charge les opérations suivantes, chacune en complexité temporelle moyenne O(1) : 1. `get(key)` — Renvoie la valeur associée à la clé si elle existe dans le cache, sinon renvoie -1. L'accès à une clé la marque comme récemment utilisée. 2. `put(key, value)` — Insère ou met à jour la paire clé-valeur. Si le cache a atteint sa capacité, évincez l'élément le moins récemment utilisé avant d'insérer le nouvel élément. Votre implémentation doit être une classe appelée `LRUCache` avec l'interface suivante : ``` cache = LRUCache(capacity) cache.put(key, value) result = cache.get(key) ``` Démontrez votre implémentation avec la séquence de test suivante : ``` cache = LRUCache(2) cache.put(1, 10) cache.put(2, 20) print(cache.get(1)) # Attendu : 10 cache.put(3, 30) # Élimine la clé 2 print(cache.get(2)) # Attendu : -1 cache.put(4, 40) # Élimine la clé 1 print(cache.get(1)) # Attendu : -1 print(cache.get(3)) # Attendu : 30 print(cache.get(4)) # Attendu : 40 ``` Exigences : - NE PAS utiliser `functools.lru_cache` ou `collections.OrderedDict`. Implémentez vous-même la structure sous-jacente. - Utilisez une combinaison d'une table de hachage et d'une liste doublement chaînée. - Incluez des commentaires clairs expliquant votre approche. - Gérez les cas limites tels qu'une capacité de 0 ou 1. - Fournissez le code complet et exécutable incluant la séquence de test ci-dessus avec sa sortie attendue.

414
12 Mar 2026 19:00

Programmation

OpenAI GPT-5.2 VS Google Gemini 2.5 Flash

Implémenter un Cache LRU (Least Recently Used)

Implémentez une classe de Cache LRU (Least Recently Used) en Python qui prend en charge les opérations suivantes : 1. `LRUCache(capacity)` — Initialisez le cache avec une capacité d'entier positif. 2. `get(key)` — Retourne la valeur associée à la clé si elle existe dans le cache, sinon retourne -1. L'accès à une clé la marque comme récemment utilisée. 3. `put(key, value)` — Insérez ou mettez à jour la paire clé-valeur. Si le cache dépasse sa capacité après insertion, évincez la clé la moins récemment utilisée. Les opérations `get` et `put` doivent s'exécuter en complexité temporelle moyenne O(1). Fournissez une implémentation Python complète et autonome. N'utilisez pas `functools.lru_cache` ni `collections.OrderedDict`. Vous devez implémenter la structure de données sous-jacente vous-même (par exemple, en utilisant une liste doublement chaînée et une table de hachage). Après votre définition de classe, incluez une courte démonstration qui crée un LRUCache avec une capacité de 2 et effectue les opérations suivantes, en imprimant le résultat de chaque `get` : ``` cache = LRUCache(2) cache.put(1, 10) cache.put(2, 20) print(cache.get(1)) # Attendu : 10 cache.put(3, 30) # Évince la clé 2 print(cache.get(2)) # Attendu : -1 cache.put(4, 40) # Évince la clé 1 print(cache.get(1)) # Attendu : -1 print(cache.get(3)) # Attendu : 30 print(cache.get(4)) # Attendu : 40 ```

440
10 Mar 2026 15:38

Affichage de 21 a 23 sur 23 resultats

Liens associes

X f L