关注
或许可以把num = num >> 1注释掉 然后把EIGHT_BAG = 8改成4, 把SiX_BAG = 6改成3 还有一些判断我不知道是不是必须的,引用一句名言:I don't know why, but this works! public class BuySomeOrange { private static final int EIGHT_BAG = 8; private static final int SiX_BAG = 6; //use to identify how many eight and six are we using //1 for eight, 0 for six private static StringBuilder strBuilder = new StringBuilder(""); public static void main(String[] args) { System.out.println(packOrangeFOrE(14) + "\t" + strBuilder.toString()); } public static int packOrangeFOrE(int num) { int sixBag, eightBag; if(num % 2 != 0 || num <= 0) return -1; // num = num >> 1; //first we would like to use the bigger bag if(num % EIGHT_BAG == 0) { eightBag = num / EIGHT_BAG; zeroOrOnes(eightBag, 0); return eightBag; }else if(num % SiX_BAG == 0) { //we would like to use the bigger bag int sixEvenDistribute = num % EIGHT_BAG; if(sixEvenDistribute % SiX_BAG == 0) { eightBag = num / EIGHT_BAG; sixBag = (num % EIGHT_BAG) / SiX_BAG; zeroOrOnes(eightBag, sixBag); return eightBag + sixBag; } //if ends here we just use 6 bag sixBag = num / SiX_BAG; zeroOrOnes(0, sixBag); return sixBag; }else if(num % EIGHT_BAG % SiX_BAG == 0) { eightBag = num / EIGHT_BAG; sixBag = (num % EIGHT_BAG) / SiX_BAG; zeroOrOnes(eightBag, sixBag); return eightBag +sixBag; }else { return -1; } } private static void zeroOrOnes(int eightNum, int sixNum) { for(int i = 0; i < eightNum; i++) strBuilder.append("1"); for(int i = 0; i < sixNum; i++) strBuilder.append("0"); } }
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
昨天 02:29
四川大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 哪些公司开春招了? #
39677次浏览 225人参与
# 关于提前批我想问 #
278706次浏览 2339人参与
# 小厂一定不能去吗? #
1290次浏览 22人参与
# 如果没找到工作,考公是你的退路吗 #
64696次浏览 448人参与
# 三月的小目标 #
560次浏览 16人参与
# 秋招笔试记录 #
366843次浏览 2103人参与
# 牛友的志愿填报指南 #
53822次浏览 367人参与
# 计算机专业还有必要去大厂卷吗 #
56988次浏览 231人参与
# 应届生,你找到工作了吗 #
115906次浏览 712人参与
# 通信硬件薪资爆料 #
1241411次浏览 7219人参与
# 实习心态崩了 #
105585次浏览 534人参与
# 业务面应该做哪些准备 #
98316次浏览 1098人参与
# 23届的你们都什么时候入职? #
238085次浏览 1124人参与
# 秋招感动瞬间 #
116191次浏览 521人参与
# 华子oc时间线 #
1437401次浏览 7040人参与
# 双非本科的出路是什么? #
213316次浏览 1586人参与
# 金融财经春招备战日记 #
54804次浏览 235人参与
# 开工第一帖 #
100697次浏览 1608人参与
# 如果再来一次,你还会学硬件吗 #
156072次浏览 1469人参与
# 你找工作的时候用AI吗? #
182205次浏览 929人参与