ホームページ >ウェブフロントエンド >jsチュートリアル >ツー ポインター - Javascript を使用した共通タイム スロット アルゴリズム
2 人の間で共通のスロットを見つけることに関連する問題がある場合。
2 ポインター手法を使用して調べることができます。
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 ]
参考
詳細情報については、こちらをご覧ください
https://www.geeksforgeeks.org/meeting-scheduler-for-two-persons/
以上がツー ポインター - Javascript を使用した共通タイム スロット アルゴリズムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。