Maison > interface Web > js tutoriel > Two Pointer - Algorithme de créneau horaire commun utilisant Javascript

Two Pointer - Algorithme de créneau horaire commun utilisant Javascript

PHPz
Libérer: 2024-08-30 18:31:45
original
1184 Les gens l'ont consulté

Two Pointer - Common Time Slot Algorithm Using Javascript

Quand il y a un problème lié à la recherche d'un créneau commun entre 2 personnes.

vous pouvez utiliser la technique des 2 points pour le savoir.

function availableDuration(slots1, slots2, d) {
    let i = 0;
    let j = 0;

    while (i < slots1.length && j < slots2.length) {
        // Finding the boundaries of the intersection, or the common slot
        const left = Math.max(slots1[i][0], slots2[j][0]);
        const right = Math.min(slots1[i][1], slots2[j][1]);
        if (right - left >= d) {
            return [left, left + d];
        }
        // Always move the pointer of the slot that ends earlier
        if (slots1[i][1] < slots2[j][1]) {
            i++;
        } else {
            j++;
        }
    }
    return [];
}

// Example usage
const slots1 = [[10, 50], [60, 120], [140, 210]];
const slots2 = [[0, 15], [60, 70]];
const d = 8;
const result = availableDuration(slots1, slots2, d);
console.log("Earliest common time slot:", result);

// Earliest common time slot: [ 60, 68 ]

Copier après la connexion

Référence

Pour plus d'informations détaillées, veuillez consulter
https://www.geeksforgeeks.org/meeting-scheduler-for-two-persons/

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal