我是编程新手,我尝试解决在线评审系统中的问题。有一个问题,看起来非常有趣和重要,但不幸的是我不知道如何解决。我会很感激任何提示。
问题是:给定一个数组作为输入。如果有两个具有相同数字和的子数组,则打印 1,否则打印 0。
输入:2 1 1 输出:1 输入:3 2 5 3 输出:1 输入:3 1 4 7 输出:0
谢谢
我是编程新手,我尝试解决在线评审系统中的问题。有一个问题,看起来非常有趣和重要,但不幸的是我不知道如何解决。我会很感激任何提示。
问题是:给定一个数组作为输入。如果有两个具有相同数字和的子数组,则打印 1,否则打印 0。
输入:2 1 1 输出:1 输入:3 2 5 3 输出:1 输入:3 1 4 7 输出:0
谢谢
这被称为分区问题(或至少是分区问题的一种变体)。这是一个需要所谓的动态规划解决方案的问题。对于刚开始学习如何编程的人来说,这是一个相当高级的问题。我建议从一些更简单的挑战开始。
但是,如果您有兴趣解决这个问题,请查看此链接: http: //people.csail.mit.edu/bdean/6.046/dp/。此页面上指向“分区问题”的链接显示了一个有效解决方案的视频说明。