请大佬们看看我OPPO后端T3解法的问题

×2或÷2,让因子数p最接近给出的k的次数,那道题
我的解法如下图所示,测试用例和自己想的几个用例都能过
但上了官方测试用例,只能对5%
百思不得其解

思路:
1)一个求因子的函数
2)读取输入
3)如果n==100,则返回(0,0)->二分法测的,不这么做会卡用例,不知道为啥
4)求因子数p,与要求的k对比
5)如果p==k,退出
6)如果p大于k,说明因子太多,需要%2以减少因子,迭代直到退出/整体不再是偶数
7)如果p小于k,说明因子太多,需要*2以增多因子,迭代直到退出
8)对于6)、7),在操作时使用dict保存所有的abs(p-k)的结果,并且遍历dict,寻找最小的key对应的value(python3字典有序,因此能解决操作次数相同的问题)

请大佬们赐教!
#oppo##oppo笔试##oppo后端笔试##秋招#
全部评论

相关推荐

fRank1e:吓得我不敢去外包了,但是目前也只有外包这一个实习,我还要继续去吗
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务