首页 > 编程知识 正文

腾讯2022笔试,腾讯2021产品笔试题

时间:2023-05-03 10:50:00 阅读:207371 作者:4123

第一题

#include<iostream>using namespace std;void getNode(int x, int k);int main0() {int q;cin >> q;int x, k;while (q) {cin >> x >> k;q--;getNode(x, k);}return 0;}void getNode(int x, int k) {if (x<1 || k<1) return;int t = 1;int n = 1;while (n << 1 <= x) {n =n << 1;t++;}int m = t - k;if (m <= 0) {cout << "-1" << endl;return;}int r = x;r = r >> m;cout << r << endl;}

这个代码的只通过了50%,显示超过时间限制,如果有谁有什么建议,记得告诉我哦!!!在此谢过

第二题


分析:就是图的最短路径算法,还未复习,没做,先留着。

第三题


分析:我是通过链表插入来完成的,不知道还有没有更高效的办法,先这样吧
代码:

#include<iostream>using namespace std;typedef struct Node{int value;struct Node *next;}Node;int main() {int n, k;cin >> n >> k;Node* head = new Node();bool first = true;while (n) {n--;int a;cin >> a;int* arr = new int[a];int m = a;int t = 0;while (t<a) {cin >> arr[t];t++;}Node* p = head;if (first) {while (m) {Node* node = new Node();node->value = arr[m - 1];node->next = nullptr;p->next = node;p = p->next;m--;}first = false;}while (m) {Node* node = new Node();node->value = arr[m - 1];node->next = nullptr;while (p ->next != nullptr&&p->next->value > arr[m -1]) {p = p->next;}if (p->next == nullptr&&p->value > arr[m - 1]) {p->next = node;}else {node->next = p->next;p->next = node;}p = node;m--;}}Node* q = head->next;while (k) {cout << q->value << " ";k--;q = q->next;}return 0;}

这道题做的时候没有调试出来,代码写对了,但有行代码就是位置没放对,哎,考完之后才调试出来

一共五道题,就做出来两道,还有两道看都没来得及看,看来还得加紧复习啊,加油!!!(好吧,这次考试之前没怎么复习,我就想看看腾讯的笔试题多难,还真的难!!!顺便说一句,之前腾讯实习的提前批面试,两次都是写代码)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。