직원 중요성
다음과 같은 직원 배열
employees
이 제공됩니다.employees[i].id
는 ith
직원의 ID입니다. employees[i].importance
는 ith
직원의 중요도 값입니다. employees[i].subordinates
는 ith
직원의 직속 부하 직원의 ID 목록입니다. 직원의 ID를 나타내는 정수
id
가 주어지면 이 직원과 모든 직속 부하 직원의 전체 중요도 값을 반환합니다.예 1:
입력: 직원 = [[1,5,[2,3]],[2,3,[]],[3,3,[]]], ID = 1
출력: 11
설명: 직원 1의 중요도 값은 5이고 직속 부하 직원 2명과 직원 3이 있습니다.
둘 다 중요도 값이 3입니다.
따라서 직원 1의 총 중요도 값은 5 + 3 + 3 = 11입니다.
예 2:
입력: 직원 = [[1,2,[5]],[5,-3,[]]], ID = 5
출력: -3
설명: 직원 5의 중요도 값은 -3이며 직속 부하 직원이 없습니다.
따라서 직원 5의 총 중요도 값은 -3입니다.
제약:
1 <= employees.length <= 2000
1 <= employees[i].id <= 2000
employees[i].id
은 고유합니다. -100 <= employees[i].importance <= 100
employees[i].subordinates
의 ID는 유효한 ID입니다. 해결책:
"""
# Definition for Employee.
class Employee:
def __init__(self, id: int, importance: int, subordinates: List[int]):
self.id = id
self.importance = importance
self.subordinates = subordinates
"""
class Solution:
def DFS(self, employees, i, visited):
visited.add(i)
for j in employees[i][1]:
if j not in visited:
self.DFS(employees, j, visited)
def getImportance(self, employees: List['Employee'], i: int) -> int:
empMap = {}
for emp in employees:
empMap[emp.id] = [emp.importance, emp.subordinates]
visited = set()
self.DFS(empMap, i, visited)
return sum([empMap[k][0] for k in visited])
Reference
이 문제에 관하여(직원 중요성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/theabbie/employee-importance-ljh텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)