我正在尝试为下图编写Java代码。其中,
如果node:4将创建以下单独的4个树。
中的节点数LEVEL1 (yellow) : 1 node
LEVEL2 (green) : n-1 node
LEVEL3 (blue) : n-2 node
查看节点的图像:4
另一种方式,如节点:5,那么,
LEVEL1 (yellow) : 1 node
LEVEL2 (green) : n-1 node
LEVEL3 (blue) : n-2 node
查看节点的图片:5
等等。提前感谢您的帮助。
答案 0 :(得分:1)
如何解决这里重要的事情。 从上到下开始,并制定逻辑。
List<Tree> makeTrees(int n) {
List<Tree> trees = new ArrayList<>();
for (int i = 0; i < n; ++i) {
Tree tree = makeYellow(n, i);
trees.add(tree);
}
return trees;
}
private Tree makeYellow(int n, int yellow) {
Tree tree = new Tree();
Node node = new Node(yellow, Color.YELLOW);
tree.add(node);
for (int i = 0; i < n; ++i) {
if (i != yellow) {
Node green = makeGreen(n, yellow, i);
node.add(green);
}
}
return tree;
}
等等。
如您所见,黄色节点的顶部是一个简单的就足够了。而不是已经详细解决了所有问题,预期更进一步的解决方案,请致电makeGreen
并确定它应返回的内容以及所需的信息。
尝试找到模式。
这样的家庭作业最好自己完成,以便训练解决这些难题,并获得精神上的奖励。