这是我的第一篇文章,但我经常光顾SO以获得帮助。如果我没有遵循正确的礼节,请继续,请耐心等待。所以简单来说,我正在处理涉及指针的棘手问题。我会在这里复制并粘贴它,因为我担心我会遗漏重要信息:
给出in_len(指向最后一个元素的指针)的PHB列表(1000个元素 - 1-100的整数),没有任何重复项并且由in_list指向,该函数将:
请注意,每个元素只能使用一次。此外,如果存在多个案例,则只需返回一个列表。例如,如果PHB列表为{9, 5, 16, 22, 1, 37, 26, 14}
,则函数的返回值为true,out_list包含{9, 5, 16, 1}
,其长度为4,或者包含{9, 22}
,其长度为2.请注意,列表{16, 1, 14}
不合格,因为三个值的集合跨越5个元素。另一个例子,如果PHB列表是{9, 5, 34}
,则返回false。 out_list将为空,长度为0.
那就是它。起初,我试图用大量的选项进行硬编码(按照
的方式)if *in_list, *(in_list + 1), *(in_list + 2), *(in_list + 3), *(in_list+4)
add up to 31,
//not actual code-just odd formatting
or *in_list, *(in_list + 1), *(in_list + 2), *(in_list + 3), add up to 31
or *in_list, *(in_list + 1), *(in_list + 2), *(in_list + 4), add up to 31
or *in_list, *(in_list + 1), *(in_list + 3), *in_list + 4), add to 31
or *in_list, *(in_list + 2), *(in_list + 3), *(in_list + 4) add to 31
or *in_list, *(in_list + 1), *(in_list + 2), add up to 31
etcetc, 但很快意识到我只是不知道我在这里做了什么。幸运的是,out_list只需要一个加起来为31的列表。我很感激任何帮助。 谢谢你的时间!
解决方案(谢谢大家的建议): http://pastebin.com/2sSShWty