每日一题——LeetCode942

2023-12-29 17:25:08

方法一 个人方法:

找规律,碰到I优先放最小的数,碰到D优先放最大的数,将0-n按照从小到大的顺序放入数组保存,碰到I就从数组前面取值,碰到D就从数组后面取值

var diStringMatch = function(s) {
    var arr=[],perm=[]
    for(var i=0;i<=s.length;i++){
        arr.push(i)
    }

    for(var char of s){
        if(char==='I') {
            perm.push(arr.shift())
        }else if(char === 'D'){
            perm.push(arr.pop())
        }
    }
    perm.push(arr.pop())
   return perm
};

消耗时间和内存情况:?

文章来源:https://blog.csdn.net/weixin_52878347/article/details/135292545
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。