算法题 [java]: &nbsp&nbsp&nbsp ...
算法题
[java]:
平行的结构转换为树形的结构:
已知类:TreeNode
import java.util.ArrayList import java.util.List
public class TreeNode { private String id private String parentId private List<TreeNode> children //get/set… } |
要求:提供一个静态工具方法输入平行结构的TreeNode集合,返回梳理好上下级关系后的TreeNode集合(需要考虑多个根节点)
如:输入的结构是:
[{id:1}, {id:2,parendId:1}, {id:3, parendId:1}] |
输出的结构是:
[{id:1,children:[{id:3, parendId:1},{id:2, parendId:1}]}] |
如:id:1,pid:
一个N*N的矩阵,每个元素都是0或者1。把给定坐标row,col的元素设置为1后,若某元素上下左右4个紧邻的元素中有超过2个是1,则该元素也要设置成1,直到没有需要设置的为止,此时称为“稳定”状态。如:
1 0 0 1 1 0
0 1 0 0 0 0
0 0 0 1 0 0
0 1 0 0 1 0
0 0 1 0 1 0
0 0 1 0 0 1
设置 2,2,最终变为:
1 0 0 1 1 0
0 1 0 0 0 0
0 1 1 1 0 0
0 1 1 1 1 0
0 0 1 1 1 0
0 0 1 0 0 1
假设初始矩阵是稳定的,编程实现下面的函数:
int update_matrix(int matrix[N][N], int row, int col)
返回值是这次设置成1的个数。