我正在研究 15 片滑动拼图的实现,我被困在我必须确保我只洗牌成“可解决的排列”的点上——在我的例子中,右下角的空瓷砖:甚至排列。
我已经阅读了许多类似的主题,例如如何确保当我洗牌时我仍然得到一个偶数排列?并了解我需要“计算排列中反转次数的奇偶性”。
我正在用 Javascript 编写,并使用 Fischer-Yates-algorithm 随机化我的数字:
var allNrs = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14];
for (var i = allNrs.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var temp1 = allNrs[i];
var temp2 = allNrs[j];
allNrs[i] = temp2;
allNrs[j] = temp1;
}
我如何实际计算我在这么多帖子中读到的排列或奇偶校验值?