如果包含[1、10、3、5、2、7]且k = 2的数组,则将集合组合为{110,35,27},对集合{27,35,110}进行排序,并拆分设置为[2,7,3,5,1,10]的数组
答案 0 :(得分:0)
这是在JavaScript中实现此方法的方法:
const k = 2;
const arr = [1, 10, 3, 5, 2, 7];
// STEP 1 - Combine the set by k pair number
const setCombined = []
for(let i = 0; i < arr.length; ++i) {
if(i % k === 0) {
setCombined.push(parseInt(arr.slice(i, i + k ).join('')))
}
}
console.log('STEP1 - combined: \n', setCombined);
// STEP 2 - Sort
const sortedArray = setCombined.sort((a, b) => a - b)
console.log('STEP2 - sorted: \n', sortedArray);
// STEP 3 - Split sorted
const splitArray = sortedArray.join('').split('').map(e => parseInt(e))
console.log('STEP3 - split: \n', splitArray);
我不确定当您说要合并set
时,是否真的只保留唯一值...让我知道