【发布时间】:2017-02-17 00:50:03
【问题描述】:
【面试题】我在最近的一次在线面试中得到了这个问题。我不知道如何解决它。谁能帮我解决这个问题,以便我可以学习Java。
汤姆非常善于解决问题。所以为了测试汤姆的技能,杰瑞问汤姆一个图形问题。杰瑞给汤姆一个包含 N 个整数的数组 A。
图是一个简单的图,当且仅当它没有自环或多重边。
现在杰瑞问汤姆他是否可以设计一个包含 N 个顶点的简单图。条件是 Tom 必须对图的顶点度数使用 A 的每个元素恰好一次。
现在,Tom 需要您的帮助来设计他的图表。如果可以设计图形,则打印“YES”,否则打印“NO”(不带引号)。
输入 第一行中的单个整数 T,表示测试用例的数量。 对于每个测试用例,有 2 行。 第一行是一个整数 N,表示数组 A 的元素个数。 第二行有 N 空间分隔的整数,表示 A 的元素。
输出 对于每个测试用例,在新行中打印“YES”或“NO”(不带引号)是否可以设计图形。
约束
1<= T <= 100
1<= N <= 100
0<= Element of A <= 5000
示例测试用例
输入
1
2
1 1
输出
YES
解释 对于这个测试用例,可以设计一个有 2 个顶点的简单图,其中每个顶点的度数为 1。
输入
2
3
1 2 1
3
1 1 1
输出
YES
NO
解释 对于第一个测试用例,我们可以设计一个简单的 3 个顶点图,其度数序列为 [1, 2, 1]。第一个顶点的度数为 1,第二个顶点的度数为 2,第三个顶点的度数为 1。 对于第二个测试用例,我们不能制作一个简单的3个顶点的图,其度数序列为[1,1,1]。
【问题讨论】:
-
您的解释令人困惑,问题似乎没有得到很好的定义。您是说第三行是由空格分隔的元素,然后将第三行解释为顶点的度数。测试用例行是多余的,与问题陈述无关。