首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
爱喝咖啡的鲸鱼🐳
山东行政学院 C++
发布于广东
关注
已关注
取消关注
@Accelerate1:
腾讯笔试题 a,b->A,B
基本思路:因为a,b变到A,B是经过同样的操作。故将a->A的所有操作路径记录下来,从最短的操作路径开始,采用同样的操作匹配b->B,如果匹配,返回最短的操作,如果所有的路径都无法匹配,返回-1。 这样,问题就转化为求小a经过若干的 +1 或者 *2 操作,变为给定的大A问题。此问题的基本思路是采用构造路径二叉树的方法,对于任意数字 n,其操作只有两种 +1 和 *2。我们从a开始,构造其左孩子为 a+1, 右孩子为 a*2,并将其放入队列。每次从队列取出一个结点,如果改结点的值为A,则存入结果路径数组;若该值小于A,则重复上述操作,构造其左右孩子结点并放入队列;若该结点的值大于A,什么也不做。当队列空的时候,所有的路径查找结束,从a到A的所有操作路径都已经在结果路径向量里了。 测试用例:a=3 -> A=12; 输出结果:(此结果路径为逆序路径,1表示\*2,0表示+1) 1 1 (3*2*2) 1 0 0 0 ((3 +1+1+1)*2) 0 0 1 0 0 ((3+1+1)*2+1+1) 0 0 0 0 1 0((3+1)*2+1+1+1+1) 0 0 0 0 0 0 1 (3*2+1+1+1+1+1+1) 0 0 0 0 0 0 0 0 0 #include <iostream>#include <vector>#include <deque>using namespace std;struct Node { int path = 0;//记录路径 0表示加一 1表示乘以2 Node *parent = nullptr; //父节点指针 Node *left = nullptr; Node *right = nullptr; double value = 0;};int main(){ int a=3; int A = 12; vector<Node*> PATH; //PATH为结果路径 存放A结点的指针 Node *root = new Node; root->path = -1; root->value = a; deque<Node*> mque; mque.push_back(root); while (!mque.empty()) { //弹出队首 Node*p = mque.front(); mque.pop_front(); if (p->value < A) //如果该节点的值小于A,构造其孩子结点 { //构建两个子孩子 Node *left = new Node; left->value = p->value + 1; left->parent = p; left->path = 0; Node *right = new Node; right->value = p->value * 2; right->parent = p; right->path = 1; p->left = left; p->right = right; //加入队列 mque.push_back(left); mque.push_back(right); } else if (p->value == A)//如果该节点的值就是A 将其存入结果向量 { PATH.push_back(p); } } for (int i = 0; i < PATH.size(); i++) { Node*p = PATH[i]; while (p != root) { cout << p->path << " "; //输出路径 note:此路径为逆序路径 p = p->parent; } cout << endl; } return 0;}
点赞 0
评论 0
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
10-08 22:17
华南理工大学 产品经理
腾讯内推腾讯面经
欢迎大家投递哈,岗位多多,先到先得,感兴趣的话,腾讯全集团所有岗位都可以找我内推 热乎乎的内推码:EUTPZZRV 腾讯投递方式 作为全球领先的科技企业,腾讯面向未来,为员工提供广阔的职业发展空间和前景。 分享一些面经: 第一轮技术面 闭包作用及实际应用场景 HTTP/1.1、HTTP/2、HTTP/3的核心差异 实现红绿灯控制效果(异步时序逻辑) React Hooks的设计动机与类组件对比 浏览器事件代理原理及实际应用 手写Promise核心逻辑(包含resolve/reject) 数组去重与高频字符统计算法 Web安全防护措施(XSS、CSRF) 浏览器渲染流程与重排/重绘优化 跨域...
点赞
评论
收藏
分享
10-09 13:47
realme_软件工程师(准入职员工)
realme内推,realme内推码
笔经品牌经理面经群面还是挺有意思的,主要是讲怎样卖手机AI英文面1. 自我介绍2. 分享一段和同事共同完成项目的经历,在期间有没有碰到什么样的分歧如何解决?3. 为什么一开始没有想到这种方式呢?4. 在实习当中有没有提出一些新的方式方法解决一些问题?5. 当时为什么要做这段实习呢?因为你之前的实习好像都不是这个赛道的?6. 介绍你最好的朋友,以及你的朋友怎么评价你的?7. 分享一段你和你朋友的旅行,你们怎么去分配任务的?8. 为什么有人可以不用做任何事情?那他在你们团队担任的是什么角色呢?专业复试:1. 自我介绍2. 介绍一下你的专业3. 介绍你的第...
点赞
评论
收藏
分享
09-17 17:09
门头沟学院 Java
收到秋招offer了
但是—————要!提!前!实!习! 好纠结啊,还没敢回消息
雨忄:
有人给出过解法,拖晚点去,然后到时候再找其他理由商量,既增加他们的筛人成本,不一定会给你收回offer ,也能占位避免工贼
秋招的嫡长offer
点赞
评论
收藏
分享
10-10 15:23
陕西师范大学 Java
这么多题目我惊了
开始手撕的时候才17分钟我无比震惊不过都没让跑测试用例 就看了我的代码
我的秋招日记
点赞
评论
收藏
分享
10-09 11:26
华东理工大学 Java
vivo的池子能泡出来吗
vivo的池子大概有多深啊,不知道前些年的比例怎么样 真心希望vivo给点机会吧
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
HR面,到底该准备些啥(附核心问题回答思路)
1.6W
2
...
除了卷大厂,还有其他出路吗。。。
3885
3
...
懂车帝二面 2025.10.11 1h32min
3557
4
...
双非秋招timeline供参考(腾讯字节阿里快手美团)
2715
5
...
小红书一面面经
2476
6
...
牛牛求救🆘,不敢梭哈后端第二技能点怎么搭配
2317
7
...
10.12pdd笔试大鸭蛋
2061
8
...
第一次去北京那么远的地方实习,心里总是不安,大家会有这种感觉吗?
1874
9
...
10.12 拼多多技术岗笔试 第二题 求教
1874
10
...
华为10月10号考的手写LSTM被压中了
1695
创作者周榜
更多
正在热议
更多
#
面包vs爱情,怎么选?
#
7444次浏览
89人参与
#
职场新人体验
#
83707次浏览
595人参与
#
深信服秋招来了
#
279551次浏览
2915人参与
#
实习生如何通过转正
#
104091次浏览
1394人参与
#
tplink提前批进度交流
#
206922次浏览
1506人参与
#
安克创新求职进展汇总
#
53776次浏览
528人参与
#
爱玛科技集团求职进展汇总
#
26993次浏览
195人参与
#
Tplink求职进展汇总
#
180242次浏览
912人参与
#
秋招结束之后的日子
#
86102次浏览
976人参与
#
面试被问“你的缺点是什么?”怎么答
#
154522次浏览
2146人参与
#
贝壳求职进展汇总
#
34426次浏览
184人参与
#
硬件/芯片公司岗位评价
#
8214次浏览
28人参与
#
Offer比较,你最看重什么?
#
215078次浏览
1389人参与
#
互联网公司爆料
#
144556次浏览
708人参与
#
招银网络求职进展汇总
#
168196次浏览
992人参与
#
联影求职进展汇总
#
42927次浏览
284人参与
#
华为海思工作体验
#
28957次浏览
120人参与
#
新凯来求职进展汇总
#
49603次浏览
126人参与
#
材料进Fab厂真的劝退吗?
#
55984次浏览
204人参与
#
五一之后,实习真的很难找吗?
#
87926次浏览
556人参与
#
应届生,你找到工作了吗
#
68896次浏览
459人参与
#
总结:哪家公司最喜欢泡池子
#
143931次浏览
520人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务