4.26腾讯笔试,被虐的交卷先出来了。。

抛开两道数据结构题不说,
剩下三道题里面, 最小距离不会找, 翻转不会翻,就写出来个找根节点。。。
今日自闭(1/1)

贴个根节点的代码,现在22:15,考试结束了
#include <iostream>
#include <bits/stdc++.h>
#include <string.h>
#include <stdio.h>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#include <set>
#include <map>

using namespace std;


inline long long pow(int a,int b){
    long long re=1, base = a;
    while(b){
        if(b&1)
            re*=base;
        base*=base;
        b>>=1;
    }
    return re;
}

long long x,y;
int q,k;

//
int main()
{

    //cin>>q;
    scanf("%d",&q);
    while(q--) {
        //cin >> x >> k;
        scanf("%lld %d", &x,&k);
        y = pow(2,k);
        if (x < y) {
            printf("%d\n",-1);
        } else {
            while(x>=y){
                x>>=1;
            }
            printf("%lld\n",x);
        }

    }
    return 0;
}


话说赛制可以骗分么,肉眼看暴力过不了直接放弃了。。。。要是能骗分我就衰了
#腾讯笔试##腾讯##笔试题目#
全部评论
100+60+100+100+100 第2题无脑暴力拿了60分 第3题无脑冒泡排序直接AC(本来只想骗分的我也不知道为啥就直接AC了)....... 第5题只要知道完全二叉树的根节点与左右孩子的编号的关系就很简单
4 回复 分享
发布于 2020-04-26 22:04
翻转用冒泡排序的思路就好了,写完直接ac我都惊了。。。
4 回复 分享
发布于 2020-04-26 21:39
话说赛制可以骗分么?  肉眼看到暴力过不了就放弃了。。。。
2 回复 分享
发布于 2020-04-26 22:09
我不会说两个栈实现队列那题我直接调用的现有的队列api吗。居然给ac了。也不知道算不算。
2 回复 分享
发布于 2020-04-26 22:01
我看到5道编程题就懵了55555,一道都不会写,什么队列啥的都忘光了,就水了最小距离那道,编译还没通过😂,编程都没准备就去了,基本上都忘光了,我太菜了
1 回复 分享
发布于 2020-04-27 10:36
抛物线与直线相交面积那题,自测100%,case就是0... 示例输出只给了一组数据,如果多组数据是什么输出格式没说明!我返回的形式:N行代表N个结果,不知道会不会要求结果之间用空格隔开写在一行或者其他的输出格式。服了。。。
1 回复 分享
发布于 2020-04-26 22:06
最小距离我模糊的记得在算法导论里提到过,要用分治法。可是那么复杂的实现,光是老师讲解就讲了几节课。23333 除非我记错了。以及最后一道题根本就看不懂题目在讲啥啊,直接放弃。
1 回复 分享
发布于 2020-04-26 22:00
笔试后官网的流程大家都是笔试已结束吗,现在是不是还没发起面试
点赞 回复 分享
发布于 2020-04-27 21:24
你刷了多少题?
点赞 回复 分享
发布于 2020-04-27 16:41
第二题不用暴力怎么写啊。。。
点赞 回复 分享
发布于 2020-04-26 22:56
4.9 翻转暴力模拟过了90%…… p.s.条nb
点赞 回复 分享
发布于 2020-04-26 22:49
多次尝试是取最高分吗,第四题我最开始用的STL库的queue直接实现ac,后面改的两个栈不能ac
点赞 回复 分享
发布于 2020-04-26 22:46
最小距离,我二分瞎搞的
点赞 回复 分享
发布于 2020-04-26 22:14
为什么我感觉我的题和你们长得那么不一样???抛物线那题有,但其他的感觉和你们描述的不太一致orz  我感觉我的最后一题是个并查集啊……
点赞 回复 分享
发布于 2020-04-26 22:11
楼主找根节点如何过的?超过时间限制,很难受
点赞 回复 分享
发布于 2020-04-26 22:09
软件开发的。翻转那里我人傻了,没怎么看懂题,想着算了随便写一下(思路还是基本有的),然后我交了测试用例说25%过了,我想再循环一次不就又好了,结果过了50%,我加到循环9次然后90%过了,再循环15次的时候直接过了,而且没超时(我就是怕超时),结果第4题超时了,我觉着挺少代码量和循环的,然后超时,改来改去还是超时,我后面放弃了用回前一次改的然后100%过了。。。第二题和第五题没做出来,第二题说数组越界我没看出来就算了。这个题是真简单!(我自己水不会),比网易简单,比起上个月我参加的腾讯测试开发笔面试一起出的题简单多了。
点赞 回复 分享
发布于 2020-04-26 22:08
找根节点,我是用的快速幂 根据满二叉树性质,算出2^k可以知道,第k层最大节点值,然后x的父节点是x/2,一直往上找,小于2^k就是父节点 询问 1e5  算 2^k 60   往上找 60   最坏 1e8 超时 快速幂算2^k,  log2(60) , 变成 1e7了大概,可以过
点赞 回复 分享
发布于 2020-04-26 22:07
两个栈模拟队列的,用Java写一直超时,方法肯定没问题,因为在leetcode上写过,改了半天,最多也只到了95%
点赞 回复 分享
发布于 2020-04-26 22:06
我想问一下找根节点,为啥我本地测试可以,提交为0 哭唧唧
点赞 回复 分享
发布于 2020-04-26 22:06
好奇第一题为什么通过不了 #include <iostream> using namespace std; int main(){     int n;     cin >> n;     int array[100000];     int count = 0;     int head = 0;     string input;          for (int i = 0; i < n; i++){         int m;         cin >> m;         for (int j = 0; j < m; j++){             cin >> input;             if (input == "PUSH"){                 int number;                 cin >> number;                 count++; }             if (input == "TOP"){                 if (head >= count){                     cout << "-1" << endl;}                 else                     cout << array[head] << endl; }             if (input == "POP"){                 if (head >= count){                     cout << "-1" << endl; }                 else                  head++;             if (input == "SIZE"){                 cout << count-head << endl;}             if (input == "CLEAR"){                 count = 0; head = 0;}     }     return 0; }
点赞 回复 分享
发布于 2020-04-26 22:04

相关推荐

评论
6
11
分享

创作者周榜

更多
牛客网
牛客企业服务