zoukankan      html  css  js  c++  java
  • 690. Employee Importance

    Question

    690. Employee Importance

    Example 1:

    Input: [[1, 5, [2, 3]], [2, 3, []], [3, 3, []]], 1
    Output: 11
    Explanation:
    Employee 1 has importance value 5, and he has two direct subordinates: employee 2 and employee 3. They both have importance value 3. So the total importance value of employee 1 is 5 + 3 + 3 = 11.
    

    Solution

    题目大意:

    每个员工都有一个价值,求一个员工及其下属员工价值总和

    思路:

    构造一个map来映射每个员工id和员工详细信息,再构造一个队列来遍历员工数据

    Java实现:

    public int getImportance(List<Employee> employees, int id) {
        Map<Integer, Employee> employeeMap = new HashMap<>();
        for (Employee tmp : employees) {
            employeeMap.put(tmp.id, tmp);
        }
    
        Queue<Employee> employeeQueue = new LinkedList<>();
        employeeQueue.offer(employeeMap.get(id));
        int importance = 0;
        while (!employeeQueue.isEmpty()) {
            Employee cur = employeeQueue.poll();
            importance += cur.importance;
            if (cur.subordinates == null) continue;
            for (int tmp : cur.subordinates) {
                employeeQueue.offer(employeeMap.get(tmp));
            }
        }
        return importance;
    }
    
  • 相关阅读:
    listview 优化
    重要博客网址
    bottombar——Fragment
    视频播放,,今日头条样式
    databinding
    Picasso
    22222222
    202004leetcode刷题记录
    批量下载邮箱中指定日期范围的附件
    有雾环境下的目标检测
  • 原文地址:https://www.cnblogs.com/okokabcd/p/9585156.html
Copyright © 2011-2022 走看看