• 剪绳子


    结论:选用尽量多的3,直到剩下2或者4时,用2

    /*
    *
    *选用尽量多的3,直到剩下2或者4时,用2
    *如果有三个以上的2,那么 3×3>2×2×23×3>2×2×2,所以替换成3乘积更大;
    *所以最多能拆成两个2,即4
    */
    class Solution {
    public:
        int maxProductAfterCutting(int n) {
            if(n<=3) return 1*(n-1);//边界情况。
            int res =1;
            if(n % 3 == 1)  //拆成两个2.即4
            {
                res = 4;
                n = n-4;
            }
            //绳子中有2
            else if(n%3 == 2)//只能拆成一个2
            {
                res =2;
                n=n-2;
            }
            //只有3
            while(n)
            {
                res=res*3;
                n-=3;
            }
            return res;
            
        }
    };

    带女朋友搬家新家条件不好,累到女朋友了,让女朋友受苦了,特此明志:每天学习,明年这个时候(20190812)让女朋友住上大房子,永远年轻,永远热泪盈眶,很多人都是这样,他们都把自己当成身在梦中一样,浑浑噩噩地过日子,只有痛苦或爱或危险可以让他们重新感到这个世界的真实。
  • 相关阅读:
    C#中索引器的实现过程,是否只能根据数字进行索引?
    重载与覆盖的区别?
    C#中 property 与 attribute的区别?
    C#可否对内存进行直接的操作?
    在c#中using和new这两个关键字有什么意义?
    secs/gem协议
    框架2
    C#开发框架学习
    C#两种数据类型
    泛型参数
  • 原文地址:https://www.cnblogs.com/make-big-money/p/12303033.html
Copyright © 2020-2023  润新知