2 水晶玉問題は、最小の時間計算量で最初のヒットを見つけます。
const arr = [false, false, false, false, true, true, true, true, true, true]; function two_crystal_balls(breaks) { const jmpAmount = Math.floor(Math.sqrt(breaks.length)); let i = jmpAmount; for (; i < breaks.length; i += jmpAmount) { if (breaks[i]) { break; } } console.log(i, "i"); const updatedPos = i - jmpAmount; for (let j = updatedPos; j<= i; j++) { if (arr[j]) { console.log('Answer ---> ', j); return ; } } return -1; } two_crystal_balls(arr); /* Output 6 i Answer ---> 4 */
以上がrystal ボール検索の問題を Javascript を使用して解決するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。