EEndCadence
Espace de développement avec IA

Sélection d’intervalles par fin la plus tôt

Choisissez un sous-ensemble maximal sans chevauchement parmi au plus 64 intervalles semi-ouverts à bornes entières dans ±10^9.

● ● ●EndCadence●
Méthodes de travail · Sélection d’intervalles par fin la plus tôt ×
def interval_selection(intervals):
    if type(intervals) is not list or len(intervals) > 64:
        raise ValueError("schedule.input")
    ordered = []
    for index, pair in enumerate(intervals):
        if type(pair) not in (list, tuple) or len(pair) != 2 or any(type(x) is not int or abs(x) > 10**9 for x in pair):
            raise ValueError("schedule.pair")
        start, end = pair
        if start >= end:
            raise ValueError("schedule.interval")
        ordered.append((end, start, index))
    selected, last = [], None
    for end, start, index in sorted(ordered):
        if last is None or start >= last:
            selected.append(index)
            last = end
    return selected
✳Sélection d’intervalles par fin la plus tôt
✓ ModificationsVérifiez avant d’appliquer ↗
Illustration de l’espace de travail
01

Modèles

Configurez un endpoint compatible OpenAI ou Anthropic avec son URL de base et une clé API si nécessaire. Testez la connexion. Un serveur local doit fonctionner ; les outils distants peuvent transmettre des données séparément.

02

Projet

Testez contacts et fins égales, rejetez les durées nulles et renvoyez les indices initiaux sans modifier l’entrée.

03

Vérifiez avant d’appliquer

Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications.

Méthodes de travail

Sélection d’intervalles par fin la plus tôt

Méthodes de travail ↗
Méthodes de travail
def interval_selection(intervals):
    if type(intervals) is not list or len(intervals) > 64:
        raise ValueError("schedule.input")
    ordered = []
    for index, pair in enumerate(intervals):
        if type(pair) not in (list, tuple) or len(pair) != 2 or any(type(x) is not int or abs(x) > 10**9 for x in pair):
            raise ValueError("schedule.pair")
        start, end = pair
        if start >= end:
            raise ValueError("schedule.interval")
        ordered.append((end, start, index))
    selected, last = [], None
    for end, start, index in sorted(ordered):
        if last is None or start >= last:
            selected.append(index)
            last = end
    return selected
Espace de développement avec IA

Gardez le code de planification fidèle à son objectif de sélection

Une routine de planification peut renvoyer une collection valide d’intervalles tout en optimisant le mauvais objectif. EndCadence est un espace de programmation assistée par IA sous Windows pour examiner cette distinction dans votre projet. Fournissez le code de sélection et son appelant dans la conversation, puis expliquez ce que l’application cherche à maximiser avant de demander des modifications.

Une tâche utile consiste à examiner la sélection par fin la plus proche pour obtenir le plus grand nombre d’intervalles sans chevauchement. Montrez au modèle connecté un petit planning avec des bornes qui se touchent et précisez la convention d’intervalles semi-ouverts. Demandez-lui de suivre les intervalles choisis et de préserver leurs identifiants d’origine afin que l’appelant puisse relier le résultat aux éléments soumis.

Examinez comment la proposition traite les plages invalides et les heures de fin égales. Séparez cet objectif des autres objectifs de planification : maximiser le nombre ne garantit ni une valeur maximale ni le respect des priorités. Exécutez les vérifications du projet sur des plannings choisis indépendamment, notamment une entrée vide et des intervalles qui se touchent, puis examinez l’affichage ou le traitement des identifiants sélectionnés en aval.

EndCadence se connecte aux points de terminaison compatibles OpenAI ou Anthropic pris en charge. Un modèle d’IA ablitéré disponible peut aider à examiner l’implémentation, sous réserve de son comportement et des capacités du serveur. Gardez l’objectif attendu et les règles de bornes dans la demande afin d’évaluer les modifications proposées selon des critères plus précis qu’un planning plausible.

Gardez le code de planification fidèle à son objectif — questions avant modification

Quel objectif de planification préciser en premier ?

Expliquez si vous cherchez le plus grand nombre d’intervalles compatibles ou un autre objectif comme la valeur totale. Ces objectifs ne sont pas interchangeables. La tâche illustrée de sélection par fin la plus proche concerne le nombre selon un contrat précis d’absence de chevauchement.

Deux intervalles peuvent-ils se rejoindre à la même borne ?

Précisez la convention. Selon l’interprétation semi-ouverte de cet exemple, un intervalle peut commencer lorsqu’un autre se termine. Incluez ce cas exact dans votre test afin que la comparaison proposée ne rejette pas accidentellement des éléments compatibles.

Pourquoi préserver les identifiants d’origine après le tri ?

L’appelant doit pouvoir relier le planning sélectionné aux enregistrements soumis. Vérifiez si la fonction renvoie les positions d’origine ou un autre identifiant stable. Le tri destiné à la sélection ne doit pas changer discrètement le sens de ces références.

Que doivent devenir les plages invalides pendant la sélection ?

Définissez le rejet des intervalles mal formés, notamment lorsque le début ne précède pas la fin, et examinez la réponse de l’appelant. Les écarter silencieusement peut masquer des problèmes d’entrée. Testez le chemin d’échec ainsi qu’un planning valide.

Télécharger pour Windows ↗

EndCadence · Mis à jour 2026-10-25