求助 od机试

#include <iostream>
using namespace std;
char find(int n, unsigned long long k) {
    if (n == 1) {
        return 'R';
    }
    unsigned long long half = 1ULL << (n - 2);
    if (k < half) {
        char c = find(n - 1, k);
        return (c == 'R') ? 'B' : 'R';
    } else {
        return find(n - 1, k - half);
    }
}
int main() {
    int T;
    cin >> T;
    for (int i = 0; i < T; i++) {
        int n;
        unsigned long long k;
        cin >> n >> k;
        char result = find(n, k);
        cout << ((result == 'R') ? "red" : "blue") << endl;
    }
    return 0;
}

ac率 8.5 实在想不出哪里出了问题, 时间复杂度是o(n), 看着n不大,会是栈溢出的问题吗

全部评论
这不就之前看过一道红黑吗,你把他当成一棵树,r的子节点是br,b的子节点的rb,从最后一层往前一层层遍历,先假设他是b,推根节点是什么,如果正确那他就是b,错误他就是r,复杂度logn
点赞 回复 分享
发布于 04-23 13:56 江苏

相关推荐

当然,假期有点放松出去玩了,可能有些面试点我也有点遗忘,但是面试过程总体感觉极其尴尬。我声音都开老大了,但是感觉面试官吐字还是有点不清楚,而且有些时候,描述有点让我着迷给我一种错觉,他就是crud&nbsp;toB项目的受害者(bushi)感觉很怪,但是不知道问题出在哪里反正两个人感觉有点大眼瞪小眼,虽然看上去问题什么的都回答上了,但是没有扩展延伸,没有欲望去扩展双方反馈怪怪的1.&nbsp;自我介绍起手2.&nbsp;为什么你自我介绍这个比赛项目和导师项目没有体现在简历里?(不是!哥们~~,简历,不是繁历啊阿巴阿巴3.&nbsp;你这个是哪个公司的项目吗?(那我问你,我为什么不写成实习经历(bushi4.&nbsp;我看你这个Redis、MQ、Es都是高可用、高并发,我能不能直接升级硬件呢?为什么不直接加设备呢?(那我问你!我不玩&nbsp;AI&nbsp;是因为我不想买&nbsp;4090吗5.&nbsp;为什么你们这个项目不用多实例部署呢?6.&nbsp;你觉得什么用户体量下才会使用你这些Redis、MQ、ES(不用用户体量,面试项目就行!bushi,QPS&nbsp;5000-7000以下基本也不会卡顿,过万的话可以考虑加Redis(悲伤7.&nbsp;你这个比赛项目的话,相较于Boss直聘有什么特色吗(项目是求职推荐系统)8.&nbsp;BS还是CS?9.&nbsp;导师项目的话,为什么让你们用Java重构呢?(原项目为C,然后导师并没有给出源码,只给需求,这里需要重度吐槽学校!项目就问到这里吧,问问技术点什么,然后你这个是校招,会比社招要求低很多(啊?好👌10.&nbsp;Java中接口和抽象类区别11.&nbsp;Java中Integer是个什么东西?装箱和拆箱是什么?12.&nbsp;Integer作为函数传递,函数中+1,函数外是否会+113.&nbsp;=和equals区别(应该是==吧,嗯嗯,对14.&nbsp;一般equals和hashCode怎么重写15.&nbsp;Java中有一个单例类,你能介绍一下吗?(什么!?这是什么神奇的类?&nbsp;只得说,我确实不太了解。面试官:就是单例模式的那个类,日内瓦。。。。16.&nbsp;final和finalize17.&nbsp;try?只有try&nbsp;catch用法吗?18.&nbsp;一般数据库主键使用什么数据类型(当时😵,不过用优化和隐患角度说了int和varchar19.&nbsp;数据库优化一般有什么方法20.&nbsp;分库分表?21.&nbsp;按照年份分的话,2025年的表压力还是太大怎么办啊,比较几乎现在crud都是走这个表22.&nbsp;反问-&nbsp;问部门业务(回:纯业务,业务复杂,没有什么架构和中间件,toB,也就是SpringBoot+MySQL,那我跑!)-&nbsp;地点
查看21道真题和解析
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务