一道面试算法求解

假设m=7时,7=1 2 4,用集合1,2,4中元素进行组合能够组合为1到6 6=2 4 5=1 4 4=4 3=1 2 2=2 1=1 用的都是1,2,4集合中的元素,求能满足这种条件集合的元素个数最小时的集合是什么,比如m=7时集合为1,2,4元素个数为3最小所以输出1,2,4#字节跳动#
全部评论
1 2 4 8这样排列,和不超过给定的数,最后再补上一个余数,比如8:1,2,4,1 13:1,2,4,6 21:1,2,4,8,6
点赞 回复 分享
发布于 2018-05-20 00:55
应该有的数不满足这个条件吧
点赞 回复 分享
发布于 2018-05-20 00:35
二进制的思想,我也被问到这道题了
点赞 回复 分享
发布于 2018-05-20 00:24
我有个解法 记下当前集合中最大的数字和不包括最大数字的所有其他集合内数字之和 然后下一个数字就是最大数字加上其他数字之和+1 比如当前最大是max 集合内为[],  集合内元素不包括最大元素和sum=0 那么下一个数字就是0 + 0 + 1 = 1 这时更新max=1, [1], sum=0 下一个数字就是1 + 0 + 1 = 2 这时更新max=2, [1, 2], sum=1 下一个数字就是1 + 2 + 1 = 4 这时更新max=4, [1, 2, 4], sum=3 下一个数字就是3 + 4 + 1 = 8 大于7 终止 返回集合即可
点赞 回复 分享
发布于 2018-05-20 00:17
加号怎么没了
点赞 回复 分享
发布于 2018-05-20 00:04

相关推荐

不愿透露姓名的神秘牛友
07-08 14:08
点赞 评论 收藏
分享
不要停下啊:大二打开牛客,你有机会开卷了,卷起来,去找课程学习,在牛客上看看大家面试笔试都需要会什么,岗位有什么需求就去学什么,努力的人就一定会有收获,这句话从来都经得起考验,像我现在大三了啥也不会,被迫强行考研,炼狱难度开局,啥也不会,找工作没希望了,考研有丝丝机会
点赞 评论 收藏
分享
评论
点赞
13
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务