左神中阶班题目二

Posted lxy-java

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了左神中阶班题目二相关的知识,希望对你有一定的参考价值。

题目描述:

  小虎去附近的商店买苹果,奸诈的商贩使用了捆绑交易,值提供6个每袋和8个每袋的包装,

  包装不可再分。可是小虎现在只想购买恰好n个苹果,小虎想购买尽量少的袋数方便携带。

  如果不能购买恰好n个苹果,小虎将不会购买。输入一个整数n,表示小虎想购买的苹果个数

  返回最小使用多少袋子。如果无论如何都不能正好装下,返回-1。

解法一:

  暴力解:先尝试用最多的8袋子装看能不能装满,如果有剩余,看剩下的用6袋子装,能不能装满

      如果还不能,缩减一个8袋子,看剩下的能不能用6号袋子装完。 

public int minBags(int apple){
        int count8 = apple/8;
        while(count8>=0){
            int res = apple - count8 * 8;
            if(res == 0){
                return count8;
            }else{
                int count6 = res / 6;
                int res2 = res - count6 * 6;
                if(res2 == 0){
                    return count8 + count6;
                }else{
                    count8--;
                }
            }
        }
        return -1;
    }

解法二:

  根据输入输出找规律 

以上是关于左神中阶班题目二的主要内容,如果未能解决你的问题,请参考以下文章

暂记左神题目清单

Redis学习(中阶)

左神讲算法——二分法及其拓展

左神讲算法——二分法及其拓展

IEEE754浮点数表示法中阶码的范围是多少?

左神带你刷题之生成窗口最大值数值