我有一个问题,其中有四个阵列,两个用于男性,两个用于女性。 其中一个 men 数组是按递增顺序排列的年龄,另一个数组是按递增顺序排列的男性高度。女性的两个数组也是一样的。
现在如果其中一个男人娶了一个女人,那么形成年龄数组,这个男人左边的男人应该娶女人左边的女人。拥有这个男人权利的男人应该与拥有这位女士权利的女人结婚。
例如:如果男士年龄数组为 {8,9,23,25,27,28,..},女士年龄数组为 {7,9,12,20,28,...},如果男士27岁娶了20岁的女人,那么8、9、23、25岁的男人应该娶7、9、12岁的女人。和右边的人一样聪明。
不结婚也无所谓,如果结了婚,就应该是这样。
婚后根据高度数组生子。如果夫妻之间的高度差为0,则他们有7个 child ,如果高度差为1-2,则他们有6个 child ,如果高度差为3-4,则他们有5个 child ,..... like wise如果高度差为 13 或以上,则他们有 0 个 child 。
所以我需要一个可以最大化 child 数量的算法。我需要最大数量的 child 。
可以是任何语言,基本上我需要一个算法。
最佳答案
这听起来像是 Discrete Optimization 中的问题.
理想情况下,无论是谁给你这个任务,都不应该在没有先给你一些关于如何做这类事情的理论的情况下就把它交给你。但是,如果您的老师希望看到您突然解决此类问题,则此关键字和链接可能会帮助您入门。
我还建议告诉我们您精通哪种编程语言(如果有的话)。SO 上的人们(一起)了解大多数编程语言,并且可以提出最适合您的建议。
关于任何语言都需要的算法 - 与数组相关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1854720/