腾讯 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届暑期实习正式批笔试##腾讯##笔试题目#
海康威视公司福利 1107人发布
查看7道真题和解析