题解 | #移掉 K 位数字#

移掉 K 位数字

https://www.nowcoder.com/practice/0fe685c8272d40f1b9785fedd2499c1c

维护一个栈,每次将栈顶大于数组num当前值的元素弹出并加入数组元素
1)栈顶元素>nums[i]
循环弹出栈内此时所有大于nums[i]的值
2)栈顶元素<=nums[i] nums[i]入栈

function removeKnums( num ,  k ) {
    // write code here
    if(k===num.length)return '0'
    var arr=[];
    arr.push(num[0])
    for(let i=1;i<num.length;i++){
        //弹出所有大于nums[i]的
        while(k>0&&arr.length!=0&&arr[arr.length-1]>num[i]){
            var top=arr.pop();
            k--;
        }
        //去除前导0
        if(arr.length===0&&num[i]==='0')continue
        arr.push(num[i])
    }
    //如果是空数组,直接返回0
    return arr.length===0?'0':arr.splice(0,arr.length-k).join('')
}
module.exports = {
    removeKnums : removeKnums
};
全部评论

相关推荐

不愿透露姓名的神秘牛友
06-18 22:30
我看都是谁在卷前端!
秋盈丶:搜了下,20人的公司能收到2000份招呼?真有这么夸张吗
点赞 评论 收藏
分享
点赞 评论 收藏
分享
屌丝逆袭咸鱼计划:心态摆好,man,晚点找早点找到最后都是为了提升自己好进正职,努力提升自己才是最关键的😤难道说现在找不到找的太晚了就炸了可以鸡鸡了吗😤早实习晚实习不都是为了以后多积累,大四学长有的秋招进的也不妨碍有的春招进,人生就这样
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务