690. 员工的重要性

题目:

给定一个保存员工信息的数据结构,它包含了员工唯一的id,重要度 和 直系下属的id。

比如,员工1是员工2的领导,员工2是员工3的领导。他们相应的重要度为15, 10, 5。那么员工1的数据结构是[1, 15, [2]],员工2的数据结构是[2, 10, [3]],员工3的数据结构是[3, 5, []]。注意虽然员工3也是员工1的一个下属,但是由于并不是直系下属,因此没有体现在员工1的数据结构中。

现在输入一个公司的所有员工信息,以及单个员工id,返回这个员工和他所有下属的重要度之和。

示例 1:

输入: [[1, 5, [2, 3]], [2, 3, []], [3, 3, []]], 1
输出: 11
解释:
  员工1自身的重要度是5,他有两个直系下属2和3,而且2和3的重要度均为3。因此员工1的总重要度是 5 + 3 + 3 = 11。
注意:

  一个员工最多有一个直系领导,但是可以有多个直系下属
  员工数量不超过2000。

解:

    1.  使用stack,将要进行搜索的id放入tmp,搜索的时候pop掉,搜索到这个id,将这个id的importance加进去,并将这个id的subordinates放入tmp里面,再次对tmp里面的要搜索的id进行搜索。直到搜索完才结束。

      class Solution {
      public:
          int getImportance(vector<Employee*> employees, int id) {
              stack<int> tmp;
              tmp.push(id);
              int tot=0;
              while(!tmp.empty())
              {
                  int tid=tmp.top();
                  tmp.pop();
                  for(auto i:employees)
                  {
                      if(i->id==tid)
                      {
                          tot+=i->importance;
                          for(auto j:i->subordinates)
                          {
                              tmp.push(j);
                          }
                          break;
                      }
                  }
              }
              return tot;
          }
      };

      1.1使用的数据结构 stack

      1.   stack

        1.   #include<stack>
        2.   stack 模板类需要两个模板参数,一个是元素类型,一个容器类型,但只有元素类型是必要的,在不指定容器类型时,默认的容器类型为deque。
          1.   ex: stack<int> s
        3. 基本操作
          1.  入栈, s.push(x).
          2. 出栈,  s.pop(), 注意!pop只是出栈,不会返回该元素
          3. 访问栈顶,s.top()
          4. 判断栈空,s.empty()
          5. 元素个数,s.size()
      2.  queue
        1.   #include<queue>
        2. q.push(x)
        3. q.pop()  注意也是不会返回该元素的
        4. q.front()
        5. q.back()
        6. q.size()
        7. q.empty()
    2.   auto : ----自动迭代

原文地址:https://www.cnblogs.com/xuwanwei/p/11441121.html

时间: 2024-09-30 03:31:54

690. 员工的重要性的相关文章

leetcode 690.员工的重要性

题目: 给定一个保存员工信息的数据结构,它包含了员工唯一的id,重要度 和 直系下属的id. 比如,员工1是员工2的领导,员工2是员工3的领导.他们相应的重要度为15, 10, 5.那么员工1的数据结构是[1, 15, [2]],员工2的数据结构是[2, 10, [3]],员工3的数据结构是[3, 5, []].注意虽然员工3也是员工1的一个下属,但是由于并不是直系下属,因此没有体现在员工1的数据结构中. 现在输入一个公司的所有员工信息,以及单个员工id,返回这个员工和他所有下属的重要度之和.

leet

# 题名1 两数之和    2 两数相加    3 无重复字符的最长子串    4 寻找两个有序数组的中位数    5 最长回文子串    6 Z 字形变换    7 整数反转    8 字符串转换整数 (atoi)    9 回文数    10 正则表达式匹配    11 盛最多水的容器    12 整数转罗马数字    13 罗马数字转整数    14 最长公共前缀    15 三数之和    16 最接近的三数之和    17 电话号码的字母组合    18 四数之和    19 删除链表

如何成为一位优秀的创业CEO

编者按:本文来自 Ryan Allis,是一位来自旧金山的创业者和投资人.在 2003 年创立了 iContact,并任 CEO. 做创业公司的 CEO 可以说是世界上最有挑战性的事情之一.你得让客户喜欢你的产品,得组建团队,还要想办法从客户.合作者和投资者那里拿到资金:并且要指导整个工作流程的优化. 在我看来,要扮演好创业公司 CEO 这个角色,最重要的有三点: 1.你所做的产品一定要能解决客户某个实际的需求(然后说服客户为它买单). 2.要确保用户和客户对你的产品有着十分积极的情感体验. 3

管理没有完美 只有和谐

赢在和谐 第一部分:管理没有完美 只有和谐 前 言 和谐是当今社会发展的主旋律,在社会各方面.各层次.各领域的竞争达到白热化的情况下,提倡和谐无疑具有重大的意义.因为人们已经开始充分认识到,只有和谐才能发展:只有和谐才能进步:只有和谐才能实现终极突破. 和谐的发展观为企业的发展提供了一个崭新的思路.在市场竞争日益激烈的情况下,企业耗费很大的精力才有可能获得竞争的胜利.然而,胜利的结果通常不是丰厚的利润:相反,还有可能是巨额的亏损.在疲于应对外部竞争的同时,企业的领导者还不得不应对企业内部员工的竞

【会点办会指南】参展企业常见的七种错误

核心提示:第一.目标不明确.第二.不重视参展商的需求.第三.忽略员工的重要性.第四.不善于收集信息.第五.错过展览会评估.第六.不爱阅读参展商手册.第七.忽略展会后期工作的跟进. 近几年,展览业各种骗展招数尽显.尽管这样,有些参展商.参展企业还是屡次被骗,为了进一步保护广大参展商.参展企业的利益,我们总结出以下7条参展商.参展企业常犯的错误,希望能给参展商.参展企业带来警示. 第一.目标不明确. 每场展会都要有明确目标,只有明确在展会中的方向才能完成一场展会的工作,如主题.展馆布局.产品摆设等等

思考出真知之日出日落第一部-公司篇?

转眼间,一年的时间又快过去了,这一年里面我们有累过,有苦过,有伤心,有开心......,但这都已经属于过去,感谢岁月给予我这么难道的磨练机会,让我      对自己的定位也越来越明确,知道自己需要什么,还缺什么?该怎么去改进自己,提高自己,这段时间我要将我这一年的体验分享给大家,希望对大家有所帮助,如果没有就当看我的经历,博大家一笑,首先我将从公司说起,然后到个人最后到团队. 1.软件公司中项目经理的角色很重要 (1).当公司接项目的时候,领导会找项目经理确认项目需求,这个大家也都是知道的,这时

指导中层管理者日常行动指南

指导中层管理者日常行动指南 计划先行,计划之前要有行动,通过前期准备确保制定出科学.合理的计划.制定工作计划的基本流程:做好制定计划之前的各项准备工作,包括收集必要的数据.进行充分的分析等:根据工作目标(如年度工作目标.项目目标等)编制计划纲要:在计划纲要的基础上,逐渐细化计划的各个部分,确保细化到计划可以被明确指向的程度:全面审阅整个计划,看看计划的各部分之间是否存在矛盾,确保计划中各部分的一致性:把自己认为已经符合要求的计划交给领导或评审小组评审. 应从技术人员的思维和习惯转变为管理人员的的

管理知识 - IT项目经理面试题

转自:https://blog.csdn.net/tianzongnihao/article/details/81411403 http://www.dianyue8.com/news/191272.html IT项目经理面试题 项目经理应具备的能力是什么 项目经理最重要的是协调沟通能力和组织能力,即能够安排合适的人到合适的位置,制定较完备的项目计划方案,让项目组成员清楚地了解各自的职责.工作量及时间安排,遇到困难能准确找到问题的关键点并迅速组织人员解决. 项目经理不一定要技术最好,但技术好的项

690. Employee Importance 员工重要性

You are given a data structure of employee information, which includes the employee's unique id, his importance value and his direct subordinates' id. For example, employee 1 is the leader of employee 2, and employee 2 is the leader of employee 3. Th