15
将列表分为大小的块,但不计算不包含谓词的项目
动机:有时候列表中的某些项目不会计入您的总数。例如,按排计数飞机乘客,其中婴儿坐在父母的膝盖上。 挑战:编写一个程序将项目列表拆分为多个块。每个块(除了最后一个块)都具有相同的大小,其中size定义为通过谓词函数的项目数。 规则: 您的程序必须 项目清单 正整数块大小 谓词函数(获取一项,并返回true或false) 您必须返回输入列表,并将其分成多个部分 每个块都是项目列表 总体而言,这些物品必须保持相同的顺序,且没有杂物 每个块(可能是最后一个块除外)中通过谓词的项目数应与输入块大小匹配。 无法通过谓词的项目不应计入此大小 谓词失败的项目是 仍包含在输出块中 分配给最早的块,如果块“满”,但接下来的项是不通过谓词的项 因此,最终块可能不仅仅包含不符合谓词的项目 最终块的大小可能小于块大小,因为所有项目都已考虑在内。 非详尽示例: 最简单的示例是考虑1s和0s,其中谓词函数为x ==> x > 0。在这种情况下,sum每个块的都必须与块大小匹配。 项目:[],大小:2,谓词:x > 0-> []或[[]] 项目:[0, 0, 0, 0, 0, 0],大小:2,谓词:x > 0->[[0, 0, 0, 0, 0, 0]] 项目:[0, 1, 1, 0],大小:2,谓词:x > 0->[[0, 1, 1, 0]] 项目:[0, …