题解 | #合唱队#

合唱队

https://www.nowcoder.com/practice/6d9d69e3898f45169a441632b325c7b4

const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
let index = 0
let input =[]
rl.on('line', function (line) {
    index ++ 
    if(index === 2){

        solution(line)
    }
});
function solution(line:string){
    let nums = line.split(" ").map(x=>Number(x))
    let arr1 = getDpArr(nums)
    let arr2 = getDpArr(nums.slice().reverse()).reverse()
    let arr3 = arr1.map((x,idx)=>x+arr2[idx]-1)
    let maxLen = Math.max(...arr3)
    let minOut = nums.length - maxLen
    console.log(minOut);

}

function getDpArr(nums:number[]){
    let length = nums.length
    let dp = Array.from({length}).map(()=>1)
    for (let index = 0; index < dp.length; index++) {
        const element = nums[index];
        let lens = nums.slice(0,index)
        .map((x,idx)=>[x,idx])
        .filter(([x,idx])=>x<element).map(([x,idx])=>dp[idx])
        let len = Math.max(0,...lens)
        dp[index] = len+1        
    }
    return dp
}

全部评论

相关推荐

野猪不是猪🐗:把你的学校加黑,加粗,斜体,下划线,描边,内阴影,内发光,投影,外发光,再上渐变色,居中,放大到最大字号,再把简历里其它内容删了,就行了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务