左神中阶班题目二
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; }
解法二:
根据输入输出找规律
以上是关于左神中阶班题目二的主要内容,如果未能解决你的问题,请参考以下文章