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 */
以上是使用 Javascript 解決水晶球搜尋問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!