题解 | #小招喵跑步#

小招喵跑步

http://www.nowcoder.com/practice/1177e9bd1b5e4e00bd39ca4ea9e4e216

#//经过自己的分析,这个题只用考虑正数即可,同时刚开始时候考虑的是动规,但那样根本无法确定建立多大的数组存储。 //因此考虑递归,递归的思想为贪心。 //偶数的最小值一定是f(x/2)+1,但奇数不一定,因此要去f(x-1),f(x+1)的最小值。

int dfs(int x){
    if(x<0) x=x*-1;
    if(x<=2) return x;
    if(x%2==0){
        return dfs(x/2)+1;   //奇数
    }
    else if(x%2){
        return min(dfs(x-1),dfs(x+1))+1;
    }
    return 0;
}
int main() {
    int x;
    scanf("%d",&x);
    printf("%d",dfs(x));
    
}
全部评论

相关推荐

06-25 09:33
厦门大学 Java
球球别拷打俺了:现在日常估计没啥hc了,等到八月多估计就慢慢有了。双九✌🏻不用焦虑的
投递快手等公司7个岗位
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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