2023前端美团笔试1

具体题目要求很长,总结一下就是,给定入栈顺序来判断出栈顺序是否正确;

由于比较着急,当时总结到了规律是,元素x出栈后,在元素x之前入栈的元素,如果是在元素x之后出栈的,那么元素的相对顺序要反转过来(可以不连续)

举例说明;123入栈 那么 312出栈是不符合题意的;

但是这种思路是,大脑最快可以判断出栈顺序是否符合要求的方式,应用到代码上不太好实现;

最终做法:既然是栈,就模拟栈;

当栈顶元素不等于出栈的顶部元素的时候,入栈顺序继续执行,当栈顶元素和出栈序列的顶部元素相等时,元素开始出栈,同时,出栈序列顶部更新;

最终元素完成全部入栈和出栈序列对比的操作,如果栈为空(也可用出栈序列顶部最后指向的索引)则出栈序列正确;

 function isRight(arrIn,arrOut){
        let stack = [];
        let i = 0;
        for(const x of arrIn){
            // 按照入栈顺序未元素入栈
            stack.push(x);
            // 栈顶元素尾与出栈序列元素相等,则为该元素的出栈位置
            while(stack.length && stack[stack.length-1]==arrOut[i]){
                stack.pop();
                i++;
            }
        }
        // 最后元素入栈后全部出栈,则说明出栈序列正确
        if(stack.length){
            return false;
        }else{
            return true;
        }
    }

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用提供了一个关于2023年前端HTML CSS最全面试题汇总的资源。这个资源涵盖了前端知识点的全部内容,可以帮助你做好面试准备。除此之外,根据引用的描述,不同公司对前端面试的要求可能会有所不同。在某些公司中,前端面试可能会包括对接口文档的测试,验证接口的正常调用以及返回值是否符合要求,同时还需要了解前端所需的参数等等。因此,除了参考提供的面试题,你还应该了解所申请公司的具体要求,以便更好地准备面试。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [2023高频前端面试题总结(附答案)](https://blog.csdn.net/weixin_45102366/article/details/125525247)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [2023前端HTML+CSS最全面试题和答案汇总](https://download.csdn.net/download/m0_61243965/87431738)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值