2757. 生成循环数组的值
2025年6月25日小于 1 分钟
2757. 生成循环数组的值
function* cycleGenerator(
arr: number[],
startIndex: number
): Generator<number, void, number> {
const len = arr.length
let currentIndex = ((startIndex % len) + len) % len // 处理负的 startIndex
while (true) {
const jump = yield arr[currentIndex]
if (typeof jump === 'number') {
currentIndex = (((currentIndex + jump) % len) + len) % len
}
}
}