关注
或许可以把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"); } }
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 2025年终总结 #
125921次浏览 2125人参与
# 实习简历求拷打 #
18357次浏览 213人参与
# 找不到实习会影响秋招吗 #
1398369次浏览 13621人参与
# 秋招被挂春招仍然能投的公司 #
8265次浏览 110人参与
# 作业帮求职进展汇总 #
84452次浏览 557人参与
# mt对你说过最有启发的一句话 #
40098次浏览 461人参与
# 投格力的你,拿到offer了吗? #
153842次浏览 827人参与
# 什么是优秀的实习经历 #
10245次浏览 232人参与
# 摸鱼被leader发现了怎么办 #
105236次浏览 662人参与
# 担心入职之后被发现很菜怎么办 #
267139次浏览 1137人参与
# 找不到好工作选择GAP真的丢人吗 #
93481次浏览 1006人参与
# 选实习,你更看重哪方面? #
15850次浏览 266人参与
# 秋招特别不鸣谢 #
17148次浏览 187人参与
# 外包能不能当跳板? #
54422次浏览 256人参与
# 考研失败就一定是坏事吗? #
203214次浏览 1394人参与
# 携程工作体验 #
18648次浏览 65人参与
# 京东美团大战,你怎么看? #
158568次浏览 861人参与
# 为了找工作你花了哪些钱? #
74959次浏览 361人参与
# 第一次面试 #
1037133次浏览 13683人参与
# 五一之后,实习真的很难找吗? #
94631次浏览 569人参与
