690 員工的重要性

2022-06-19 10:39:10 字數 1163 閱讀 7539

題目:

給定乙個儲存員工資訊的資料結構,它包含了員工唯一的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。

解:使用stack,將要進行搜尋的id放入tmp,搜尋的時候pop掉,搜尋到這個id,將這個id的importance加進去,並將這個id的subordinates放入tmp裡面,再次對tmp裡面的要搜尋的id進行搜尋。直到搜尋完才結束。

class

solution

break

; }}

}return

tot;

}};

1.1使用的資料結構 stack

stack#include

stack 模板類需要兩個模板引數,乙個是元素型別,乙個容器型別,但只有元素型別是必要的,在不指定容器型別時,預設的容器型別為deque。

ex: stacks

基本操作入棧, s.push(x).

出棧,  s.pop(), 注意!pop只是出棧,不會返回該元素

訪問棧頂,s.top()

判斷棧空,s.empty()

元素個數,s.size()

queue

#include

q.push(x)

q.pop()  注意也是不會返回該元素的

q.front()

q.back()

q.size()

q.empty()

auto : ----自動迭代

690 員工的重要性

給定乙個儲存員工資訊的資料結構,它包含了員工唯一的id,重要度 和 直系下屬的id。比如,員工1是員工2的領導,員工2是員工3的領導。他們相應的重要度為15,10,5。那麼員工1的資料結構是 1,15,2 員工2的資料結構是 2,10,3 員工3的資料結構是 3,5,注意雖然員工3也是員工1的乙個下...

690 員工的重要性

給定乙個儲存員工資訊的資料結構,它包含了員工唯一的id,重要度和直系下屬的id。比如,員工1是員工2的領導,員工2是員工3的領導。他們相應的重要度為15,10,5。那麼員工1的資料結構是 1,15,2 員工2的資料結構是 2,10,3 員工3的資料結構是 3,5,注意雖然員工3也是員工1的乙個下屬,...

690 員工的重要性

給定乙個儲存員工資訊的資料結構,它包含了員工唯一的id,重要度 和 直系下屬的id。比如,員工1是員工2的領導,員工2是員工3的領導。他們相應的重要度為15,10,5。那麼員工1的資料結構是 1,15,2 員工2的資料結構是 2,10,3 員工3的資料結構是 3,5,注意雖然員工3也是員工1的乙個下...