头条春招第二题

能用第一种就用第一种,不能用就用第二种,就A了这一道,各位大佬都AC了几道呢,瑟瑟发抖
#include<iostream>
using namespace std;

int main() {
int n;
cin >> n;
int s=1,m=1,cnt=0;
while (s<n)
{
if (2 * s == n || (2 * s < n &&n% s == 0)) {
m = s;
s = 2 * s;
}
else {
s += m;
}
++cnt;
}
cout << cnt;
return 0;
}

#笔试题目##春招#
全部评论
int n; int dfs(int m,int s){     if(s>n)         return n;     if(s==n)         return 0;     int s1=dfs(s,s+s)+1;     int s2=dfs(m,s+m)+1;     return min(s1,s2); } int main(){     cin>>n;     cout<<dfs(1,1)<<endl; }  感觉DFS更简单
点赞 回复 分享
发布于 2018-03-24 21:26
看了,要吐,那个条件我写了2*s==n或n>3n,然后找例子的时候感觉有时候4倍,有时候嗯。。就以为方法不对,各种想动态规划去了,大哥那条件总结得好啊
点赞 回复 分享
发布于 2018-03-24 21:28
楼主这题思路是什么可以分享下吗
点赞 回复 分享
发布于 2018-03-24 21:22

相关推荐

rbjjj:太杂了吧,同学,项目似乎都没深度,都是api调度耶,分层架构思想没有体现出来了,前端没有前端优化前端工程化体现,后端微服务以及分层架构没体现以及数据安全也没体现,核心再改改,注重于计算机网络,工程化,底层原理吧
点赞 评论 收藏
分享
牛马人的牛马人生:一开始看成了网吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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