javascript 代码2017年出现 - 第6天

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 代码2017年出现 - 第6天相关的知识,希望对你有一定的参考价值。

// input => [10, 3, 15, ...];
function memoryBanksLoopLength(input) {
	const states = [];
	let opCount = 0;
	for (; !states.includes(input.join('|')) ;) {
		states.push(input.join('|'));
		const highestNum = Math.max.apply(null, input);
		let idx = input.indexOf(highestNum);
		let amt = input[idx];
		input[idx] = 0;
		for (idx++; amt--; idx++) {
			const wrappedIdx = (idx + input.length) % input.length;
			input[wrappedIdx]++;
		}
		opCount++;
	}
	return opCount - states.indexOf(input.join('|'));
}
// input => [10, 3, 15, ...];
function memoryBanks(input) {
	const states = [];
	let opCount = 0;
	for (; !states.includes(input.join('|')) ;) {
		states.push(input.join('|'));
		const highestNum = Math.max.apply(null, input);
		let idx = input.indexOf(highestNum);
		let amt = input[idx];
		input[idx] = 0;
		for (idx++; amt--; idx++) {
			const wrappedIdx = (idx + input.length) % input.length;
			input[wrappedIdx]++;
		}
		opCount++;
	}
	return opCount;
}

以上是关于javascript 代码2017年出现 - 第6天的主要内容,如果未能解决你的问题,请参考以下文章

javascript 代码2017年出现 - 第4天

javascript 代码2017年出现 - 第3天

2017年6月21号课堂笔记

javascript-Array(数组)

javascript 2017年AoC - 第2天

RedMonk 6 月编程语言排行:Java 第二,Kotlin 未入榜