想知道通过90%,另外的10%,在测试点详情中,有一个错误,那这个错误应该怎么去发现呢?
这个应该怎么看,我觉得应该是测试的用例,如果是这样,那怎么看输入的是什么?自己造的数据都能通过,所以想知道哪组数据我的代码过不去呀?
以下是我的代码
var numb = +readline().split(' ') var arr = [],index=[],old =[] for(let i=0;i<numb;i++){ var need = readline().split(' ') var total = need.reduce((pre,aft) => Number(pre)+Number(aft)) old[i+1] = need arr.push(total) index.push(i+1) } let len = arr.length, max; for(let i=len - 1; i>=1;i--) { max = i for(let j=0; j<i;j++) { if(arr[j] < arr[max]) { max = j } } let temp = arr[i] arr[i] = arr[max] arr[max] = temp let ex = index[i] index[i] = index[max] index[max] = ex } // console.log(arr) // console.log(index) // console.log(old.join('-')) // console.log(old[1]) for(let i=0; i<arr.length; i++) { if(arr[i] === arr[i+1]) { // 总分相等 // console.log(i,arr[i], arr[i+1]) // console.log(index[i],old[index[i]], index[i+1],old[index[i+1]]) if(old[index[i]][0] === old[index[i+1]][0]) { // console.log('语文相等', index[i], index[i+1]) if(index[i] > index[i+1]) { // console.log('交换位置') let temp = index[i] index[i] = index[i+1] index[i+1] = temp } }else if(old[index[i]][0] < old[index[i+1]][0]) { // 前者语文小于后者语文,需要调换位置 let ex = index[i] index[i] = index[i+1] index[i+1] = ex } } } arr.length = 5 arr.forEach((k,j) => { console.log(index[j], k) })
全部评论
(0) 回帖