关注
或许可以把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"); } }
查看原帖
点赞 评论
相关推荐

点赞 评论 收藏
分享
03-11 17:03
郑州大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 面试问题记录 #
19948次浏览 341人参与
# 硬件人你反向读研了吗 #
40039次浏览 608人参与
# 京东TGT #
27806次浏览 151人参与
# 硬件人秋招的第一个offer #
65804次浏览 1081人参与
# 滴滴工作体验 #
23501次浏览 123人参与
# 非技术岗投递进展 #
137570次浏览 1222人参与
# 材料进Fab厂真的劝退吗? #
36311次浏览 158人参与
# 不考虑转正,实习多久合适 #
24351次浏览 118人参与
# 机械求职避坑tips #
41278次浏览 355人参与
# 互联网回暖,腾讯要招5000+人! #
263532次浏览 4889人参与
# 面试经验谈 #
12905次浏览 191人参与
# 机械只有转码才有出路吗? #
125887次浏览 1590人参与
# 职场新人生存指南 #
332721次浏览 7137人参与
# 面试吐槽bot #
2577次浏览 32人参与
# 异地恋该为对方跳槽吗 #
23652次浏览 119人参与
# 硬件人更看重稳定还是高薪 #
38809次浏览 203人参与
# vivo求职进展汇总 #
208615次浏览 1341人参与
# 25届如何提前做秋招准备? #
163939次浏览 2451人参与
# 你遇到过哪些神仙同事 #
69590次浏览 623人参与
# 租房找室友 #
27798次浏览 144人参与
# 深信服求职进展汇总 #
188789次浏览 1694人参与