前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【算法】找出三级分类中的最低级对象

【算法】找出三级分类中的最低级对象

作者头像
devi
发布2021-08-19 15:01:49
3680
发布2021-08-19 15:01:49
举报
文章被收录于专栏:搬砖记录搬砖记录

题目

三级分类泛指事物从属于三个分类,这三个分类拥有从属关系,如商品的三级分类,代理等级,领导关系…

有时候我们需要找出该事物最接近的一个分类。

下面以行政区领导关系为例: 现有三级领导,省领导–市领导–区县领导,一个省领导下有多个市领导,一个市领导只从属于一个省领导,一个市领导下有多个区县领导,一个区县领导只从属于一个市领导。 一个地区可以只有单个、两个或三个领导,如: 三级领导都有; 有省领导而没有市领导也没有区县领导; 有市领导有省领导但没有区县领导; … … 只有省领导; 只有市领导; 只有区县领导

给出小明的用户id,可以查询出他所在地的n领导信息(n<=3,一个地区最多三级领导),请设计算法,找出其中行政等级最低的领导。

给出信息如下: 领导A (姓名,当前等级省领导,没有上级领导) 领导B (姓名,当前等级为市领导,上级领导是A) …

分析

本人比较笨,只能是把所有情况罗列出来然后进行分析。 注意考虑遍历顺序不同会影响判断结果


  1. 省市
  2. 市省
  3. 省区
  4. 区省
  5. 市区
  6. 区市
  7. 省、市、区
  8. 省、区、市
  9. 市、省、区
  10. 市、区、省
  11. 区、省、市
  12. 区、市、省

显然,当n=1时,本身为答案

  • 解决1,2,3

当第一个就是最低级时,直接获得答案

  • 解决7,9,14,15

当n=2时,有: 省市 :第一个是省,若有下级,则下一个必为答案 市省 :第一个是市,若有上级,则当前为答案 省区 :第一个是省,若有下级,则下一个必为答案 市区 :第一个是市,若有上级,则当前为答案


当n=3时,有: 省、市、区 :省 -> 有下级 -> 市 -> 有下级 -> 下一个为答案 省、区、市 :省 -> 有下级 -> 区 -> 没有下级 -> 本身为答案 市、省、区: 市 -> 有下级 -> 省 -> 有下级 -> 下一个为答案 市、区、省 :市 -> 有下级 -> 区 -> 没有下级 -> 本身为答案

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-08-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目
  • 分析
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档