我有以下结构:
[Employee]
ID
Manager1ID
Manager2ID
场景:
我要进行验证,以确保所选的Manager1或Manager2不会引起回合。换句话说,我想知道这种情况是否存在:
A的经理是B,B的经理是C,C的经理也是A //无效
A => B => C => A
告诉用户A不是C的有效管理员,因为C已经是A的管理员
。
问题:
我虽然检查了一会儿,然后将管理器作为树中的父级循环,当我在列表中找到选定的管理器时,我知道它是无效的。 (Manager1和Manager2的两个清单的两个循环)
问题是每个雇员可能有两个经理,并且在这种情况下可能存在一个回合:
A => B(Manager1)=> C(Manager2)=> A
哪个无法检查我建议的解决方案。
任何想法!
参考方案
您尝试find a cycle in a directed graph。
与哪些运算符>>兼容 - java我这里没有什么代码int b=3; b=b >> 1; System.out.println(b); 它可以完美工作,但是当我将变量b更改为byte,short,float,double时,它包含错误,但是对于变量int和long来说,它可以完美工作,为什么它不能与其他变量一起工作? 参考方案 位移位运算符(例如>>)与任何整数类型兼…
>> Python中的运算符 - python>>运算符做什么?例如,以下操作10 >> 1 = 5有什么作用? 参考方案 它是右移运算符,将所有位“右移”一次。二进制10是1010移到右边变成0101这是5
PS之渐变映射 - 首先打开一张图。执行“图像>调整>渐变首先打开一张图。 执行“图像>调整>渐变映射”命令或“图层>新建调整图层>渐变映射”命令,即会弹出“渐变映射”对话框。 A01:为渐变映射的预设,用鼠标单击渐变方块,就可以应用该渐变映射,还可以通过预设右上方的小三角和载入、存储按钮来读取和保存自定义的预设A02:渐变类型有两种,一种“实底”,另一种“杂色”,看到的是实底的渐变,“杂色…
Java中的<<或>>>是什么意思? - javaThis question already has answers here: Closed 7 years ago. Possible Duplicate: What does >> and >>> mean in Java?我在一些Java代码中遇到了一些陌生的符号,尽管代码可以正确编译和运行,但对于括号在此代码中的作用却感…
LINQ RemoveAll代替循环 - c#我有两个for循环,用于从列表中删除项目。我正在为这些循环寻找等效的LINQ语句for (Int32 i = points.Count - 1; i >= 0; i--) { for (Int32 j = touchingRects.Count - 1; j >= 0; j--) { if (touchingRects[j].HitTest(po…