三级分类泛指事物从属于三个分类,这三个分类拥有从属关系,如商品的三级分类,代理等级,领导关系…
有时候我们需要找出该事物最接近的一个分类。
下面以行政区领导关系为例: 现有三级领导,省领导–市领导–区县领导,一个省领导下有多个市领导,一个市领导只从属于一个省领导,一个市领导下有多个区县领导,一个区县领导只从属于一个市领导。 一个地区可以只有单个、两个或三个领导,如: 三级领导都有; 有省领导而没有市领导也没有区县领导; 有市领导有省领导但没有区县领导; … … 只有省领导; 只有市领导; 只有区县领导
给出小明的用户id,可以查询出他所在地的n领导信息(n<=3,一个地区最多三级领导),请设计算法,找出其中行政等级最低的领导。
给出信息如下: 领导A (姓名,当前等级省领导,没有上级领导) 领导B (姓名,当前等级为市领导,上级领导是A) …
本人比较笨,只能是把所有情况罗列出来然后进行分析。 注意考虑遍历顺序不同会影响判断结果
显然,当n=1时,本身为答案
当第一个就是最低级时,直接获得答案
当n=2时,有: 省市 :第一个是省,若有下级,则下一个必为答案 市省 :第一个是市,若有上级,则当前为答案 省区 :第一个是省,若有下级,则下一个必为答案 市区 :第一个是市,若有上级,则当前为答案
当n=3时,有: 省、市、区 :省 -> 有下级 -> 市 -> 有下级 -> 下一个为答案 省、区、市 :省 -> 有下级 -> 区 -> 没有下级 -> 本身为答案 市、省、区: 市 -> 有下级 -> 省 -> 有下级 -> 下一个为答案 市、区、省 :市 -> 有下级 -> 区 -> 没有下级 -> 本身为答案