// 篮球比赛
let [a, b, af, bf] = [[], [], 0, 0]; // 定义需要的数据两个队伍数组ab;两个队战斗力af,bf
function race(arr) {
let tmp = arr.sort((a, b) => b - a); // 对战力进行排序
for (i = 0; i < 10; i++) { // 从大到小排序处理
if (i == 0) { // 最大的战力给a组
a.push(tmp[i]);
af += tmp[i];
} else if (a.length == b.length) { // 当两个组人数一致的时候,看战力值分配
if (af > bf) {
b.push(tmp[i]);
bf += tmp[i];
} else {
a.push(tmp[i]);
af += tmp[i];
}
} else {
if (a.length > b.length) { // 人数不同就按人数少的先得
b.push(tmp[i]);
bf += tmp[i];
} else {
a.push(tmp[i]);
af += tmp[i];
}
}
}
}
race("10 9 8 7 6 5 4 3 2 1".split(" ").map(Number));
console.log(a, b, af, bf); // [ 10, 7, 6, 3, 2 ] [ 9, 8, 5, 4, 1 ] 28 27
console.log(Math.abs(af - bf)); // 1
篮球比赛-前端算法
最新推荐文章于 2023-12-30 13:19:30 发布