腾讯 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届暑期实习正式批笔试##腾讯##笔试题目#