腾讯 4月26日笔试 3/5 我还能抢救一下吗?

腾讯 4月26日笔试 第1题 模拟队列 Golang
腾讯 4月26日笔试 第4题 两个栈模拟队列 C++
腾讯 4月26日笔试 第5题 第k层的祖先 Golang

3/5,不知道有没有戏,祝我好运。

第1题

package main

import "fmt"

func main() {
    var n,m,tp int
    var op string
    fmt.Scan(&n)
    for i:=0;i<n;i++{
        queue:=[]int{}
        fmt.Scan(&m)
        for j:=0;j<m;j++{
            fmt.Scan(&op)
            switch op {
            case "PUSH":
                fmt.Scan(&tp)
                queue= append(queue, tp)
                break
            case "TOP":
                if len(queue)>0{
                    fmt.Println(queue[0])
                }else{
                    fmt.Println(-1)
                }
                break
            case "POP":
                if len(queue)>0{
                    queue=queue[1:]
                }else{
                    fmt.Println(-1)
                }
                break
            case "SIZE":
                fmt.Println(len(queue))
                break
            case "CLEAR":
                queue=queue[:0]
                break
            default:
                break
            }
        }
    }
}

第4题

#include <iostream>
#include <stack>
using namespace std;

int main()
{
    stack<int> a,b;
    int n;
    cin >> n;
    string op;
    int num;
    while (n--) {
        cin >> op;
        if (op == "add") {
            cin >> num;
            b.push(num);
        }else if (op == "poll") {
            if (a.empty()) {
                while (!b.empty()) {
                    a.push(b.top());
                    b.pop();
                }
            }
            a.pop();
        }
        else if (op == "peek") {
            if (a.empty()) {
                while (!b.empty()) {
                    a.push(b.top());
                    b.pop();
                }
            }
            cout<<a.top()<<endl;
        }
    }
}

第5题

完全树的特征:节点k的父亲为k/2,左子为2k,右子2k+1。

package main

import "fmt"

func main() {
    var n,val,layer int
    fmt.Scan(&n)
    for i:=0;i<n;i++{
        fmt.Scan(&val,&layer)
        i:=1
        com:=1
        for com<=val{
            com*=2
            i++
        }
        i--//找到节点val所在的层
        if layer>=i{
            fmt.Println(-1)
            continue
        }
        ans:=val
        for j:=i;j>layer;j--{
            ans/=2
        }
        fmt.Println(ans)
    }
}
#腾讯2021届暑期实习正式批笔试##腾讯##笔试题目#
全部评论
比楼主还菜,最后一题通过50%不知道为啥
点赞 回复 分享
发布于 2020-04-27 09:24
官网笔试流程状态咋样了呀?
点赞 回复 分享
发布于 2020-04-30 11:34
同,就做出这几道。最小距离的暴力来复杂度太高了没过
点赞 回复 分享
发布于 2020-05-01 21:43

相关推荐

12-01 12:34
已编辑
广东工业大学 Java
如题,fw🐭🐭,加上准备的太晚,大三上已找不到日常实习,导致连锁反应,下学期的暑期实习找不到好的实习,导致秋招找不到中大厂,现在是中小厂Java还有考公的选择,由于有些中小厂工作强度比肩大厂,钱还少,感觉不如考公如果🐮u们是我现在这种情况,会怎么选?
负债的混子:关注你一段时间了,突然发现你头像名字都改了,想必是这段时间压力很大。关于就业还是考公的选择,就像很多牛友说的:不要美化自己没走过的路。你现在想往互联网发展,发现这条路很难走,然后想往考公发展,但是你没走过考公这条路,所以你不知道这条路的压力如何。你今年大三了,还有时间给你做选择,我希望你能够尽快的决定自己的方向,然后一条路走到黑,而不是在这里徘徊,每个人的道路是不一样的,你无法复刻别人的路,你能做的就是尽力的完善自己。 最后,我想说的是,加油,陌生人!
点赞 评论 收藏
分享
伟大的烤冷面被普调:暨大✌🏻就是强
点赞 评论 收藏
分享
Noob1024:一笔传三代,人走笔还在
点赞 评论 收藏
分享
评论
点赞
3
分享
牛客网
牛客企业服务