均分绳子的长度

剪绳子

http://www.nowcoder.com/questionTerminal/57d85990ba5b440ab888fc72b0751bf8

通过分析可以知道,绳子不管被分为多少份,想要求得最大值,每份之间的差值就要最小,举个例子,数字9分为3份,可以分为(1,1,7)=7,(1,2,6)=12,(1,3,5)=15...等等,但其中最大的还是(3,3,3)=27,由此可以看出,不管绳子分多少份,都应该让每份的长度尽可能平均才能达到一个最大值。

class Solution {
public:
    int cutRope(int number) {
        int m = 2;
        int max = 0;
        for (; m <= number; m++)
        {
            int left = number % m;
            int base = number / m;
            int sum = 1;
            for (int i = 0; i < m; i++) {
                if (left-- > 0) {
                    sum *= (base + 1);
                }
                else {
                    sum *= base;
                }
            }
            if (sum > max) {
                max = sum;
            }
        }
        return max;
    }
};
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-25 18:02
来组里2个月了,天天让打杂,写的代码不超过200行。现在已经开始摆烂冲秋招了。我感觉4个月,就算周六日全天睡觉,周一到周五一直看黑马也比我来节子实习学到的东西多。
小熊梦奇:😅节子那么多文档,你是一个都不看啊。 大厂的意义在于内部系统对你开放,看明白事情起因经过结果解决措施,实在看不明白,直接聊天系统搜到对应团队去问当时的负责人,大部分情况下都会给你解答。 这才是大厂实习的精髓
实习生的蛐蛐区
点赞 评论 收藏
分享
06-10 18:55
已编辑
西安电子科技大学 Java
只管努力就好:恭喜恭喜恭喜,我都没有面试机会,上周被压力炸了,今天中午看页面显示被捞进入评估结果下午就没了
京东三面373人在聊
点赞 评论 收藏
分享
07-07 17:06
已编辑
深圳技术大学 golang
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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