找朋友
在学校中,N个⼩朋友站成⼀队, 第i个⼩朋友的身⾼为height[i], 第i个⼩朋友可以看到的第⼀个⽐⾃⼰身⾼更⾼的⼩朋友j,
那么j是i的好朋友(要求j > i)。
请重新⽣成⼀个列表,对应位置的输出是每个⼩朋友的好朋友位置,如果没有看到好朋友,请在该位置⽤0代替。
⼩朋友⼈数范围是 [0, 40000]。
输⼊描述:
第⼀⾏输⼊N,N表示有N个⼩朋友 第⼆⾏输⼊N个⼩朋友的身⾼height[i],都是整数
输出描述:
输出N个⼩朋友的好朋友的位置
示例1:
输入
2
100 95
输出
0 0
let N = 8
let str = '123 124 125 121 119 122 126 123'
function test(str){
let arr = str.split(' ').map(e=>Number(e))
let right = 0
let newArr = []
while (right<arr.length){
let flag = true
for(let i=0;i<arr.length;i++){
if(right===i){
continue
}
if(arr[right]<arr[i]&&i>right&&flag){
flag = false
newArr.push(i)
}
}
if(flag){
newArr.push(0)
}
flag = true
right++
}
console.log(newArr.join(' '));
}
test(str)
机试题 文章被收录于专栏
某机试题,网上很少用js写的答案只有自己写了