Leetcode690.Employee Importance員工的重要性

給定一個保存員工信息的數據結構,它包含了員工唯一的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。

注意:

  1. 一個員工最多有一個直系領導,但是可以有多個直系下屬
  2. 員工數量不超過2000。

?

?

方法一:

類似樹的層次遍歷

class Solution {
public:int getImportance(vector<Employee*> employees, int id){if(employees.size() == 0)return 0;int sum = 0;map<int, Employee*> check;for(int i = 0; i < employees.size(); i++){check[employees[i] ->id] = employees[i];}queue<Employee*> q;q.push(check[id]);while(!q.empty()){int len = q.size();for(int i = 0; i < len; i++){Employee* temp = q.front();q.pop();sum += temp ->importance;for(int j = 0; j < temp ->subordinates.size(); j++){q.push(check[temp ->subordinates[j]]);}}}return sum;}
};

?

轉載于:https://www.cnblogs.com/lMonster81/p/10434012.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/396159.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/396159.shtml
英文地址,請注明出處:http://en.pswp.cn/news/396159.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux進程管理類命令大全,Linux進程管理類命令

一、htop命令選項-d #&#xff1a;指定延遲時間間隔&#xff1b;-u UserName&#xff1a;僅顯示指定用戶的進程&#xff1b;-s COLUME&#xff1a;以指定字段進行排序&#xff1b;子命令&#xff1a;l&#xff1a;顯示選定的進程打開的文件列表&#xff1b;s&#xff1a;跟蹤選…

C#操作Excel

1.System.Data.DataTable連接數據庫 ExcelFile 是excel的完整路徑//OleDbConnection conExcel new OleDbConnection("ProviderMicrosoft.Jet.OLEDB.4.0;Data Source" ExcelFile ";Extended PropertiesExcel 8.0");//if (conExcel.State ConnectionStat…

android抓包工具——使用fiddler4在安卓手機抓包

Fiddler是一款非常流行并且實用的http抓包工具&#xff0c;它的原理是在本機開啟了一個http的代理服務器&#xff0c;然后它會轉發所有的http請求和響應&#xff0c;因此&#xff0c;它比一般的firebug或者是chrome自帶的抓包工具要好用的多。不僅如此&#xff0c;它還可以支持…

rust風化速度_反駁《Golang、Rust的執行速度的對照,讓人大吃一驚。》——不會別瞎說...

首先我無意引戰&#xff0c;但是今天看到某位同學的文章里有某些錯誤&#xff0c;不得不指正一下。1. 測量時間的時候我們使用 std::time::SystemTime::elapsed 即可&#xff0c;不必蹩腳的使用兩個 system 輸出出來還得手動算一下。(當然你說對Rust不熟也就無所謂了)2. 最重要…

css flexbox模型_代碼簡介:CSS Flexbox有點像旅行

css flexbox模型Here are three stories we published this week that are worth your time:這是我們本周發布的三個值得您關注的故事&#xff1a; CSS Flexbox explained by road tripping across the country: 7 minute read CSS Flexbox在全國各地的旅途中進行了解釋&#…

Sharepoint 2013設置customErrors

原文地址&#xff1a;http://www.cnblogs.com/renzh/archive/2013/03/05/2944309.html#3407239 一、首先設置IIS中的Web.config文件 找到對應的IIS應用程序目錄&#xff0c;如&#xff1a;C:\inetpub\wwwroot\wss\VirtualDirectories\3000 在此文件夾下包含一個web.config文件&…

ddt數據驅動

數據驅動原理 1.測試數據為多個字典的list類型 2.測試類前加修飾ddt.ddt 3.case前加修飾ddt.data() 4.運行后用例會自動加載成三個單獨的用例 5.測試結果&#xff1a; Testing started at 21:51 ...start!{username: selenium\xe7\xbe\xa4, psw: 232607095}end!start!{username…

http協議報文體_HTTP報文基本概念學習

HTTP是什么HTTP是HyperText Transfer Protocol的縮寫,中文就是超文本傳輸協議,所謂的超,是個學術用語,是基于某種事物增加了更多的信息維度,比如超像素xxx之類的.協議是什么,協議說白了就是約定,約定就是模板,就是表格,就和你去銀行辦手續一樣,客戶不知道要提供什么信息,銀行又…

yeoman_使用yeoman輕松創建Yeoman生成器

yeomanby Krist Wongsuphasawat克里斯特旺蘇帕薩瓦(Krist Wongsuphasawat) 使用yeoman輕松創建Yeoman生成器 (Creating Yeoman generators easily with yeoman-easily) I’ve used Yeoman to start many of my projects. It’s an amazing web scaffolding tool.我已經用Yeoma…

linux 輕量化圖形界面,YOXIOS 入門教程--基于Linux的 輕量化GUI圖形系統和硬件平臺(41頁)-原創力文檔...

YOXIOS --基于 Linux 的輕量化 GUI圖形系統和硬件平臺YOXIOS 入門教程基于 Linux 的 輕量化 GUI圖形系統和硬件平臺(V1.0 2020-05)提示&#xff1a;閱讀此文檔需要有一定的單片機開發、C/C編程語言、和使用 IDE開發工具的基礎YOXIOS (C) 2020 游芯科技第 1 頁 共 41 頁YOXIOS -…

第一階段 XHTML.定位樣式

一位初學php的隨堂筆記&#xff0c;記錄自己的成長&#xff01; 1.清除浮動 (1)格式 clear:both清除兩邊|left清除左邊 right清除右邊 高度塌陷:父元素中的子元素都浮動&#xff0c;而父元素 沒有設置高&#xff0c;那父元素的高為0 &#xff08;2&#xff09;萬能清除(在父元素…

Canvas入門06-線段與像素邊界

我們知道&#xff0c;使用以下2個API可以繪制一條線段&#xff1a; moveTo(x, y) 向當前路徑中增加一條子路徑&#xff0c;該子路徑只包含一個點&#xff0c;此為線段的起始點lineTo(x, y) 將線段的下一個點加入子路徑中context.strokeStyle rgb(200, 200, 0); context.lineWi…

函數表達書-讀書筆記

定義函數的方式有兩種&#xff1a;一種是函數聲明&#xff0c;另一種就是函數表達式。函數聲明的語法如下&#xff1a; function functionName(arg0,arg1,arg2){//函數體 } 函數聲明&#xff0c;有一個重要特征就是函數聲明提升。也就是在執行代碼之前會先讀取函數聲明&#xf…

vue截取一個字符串_vue 截取字符串

let str abcdef;// 0str str.slice(0);//返回整個字符串 abcdefstr str.substring(0);//返回整個字符串 abcdefstr str.substr(0);//返回整個字符串 abcdef// 使用一個參數str str.slice(2);//截取第二個之后所有的字符 cdefstr str.substring(2);//截取第二個之后所有的…

網絡工程師需要哪些知識_成長工程師可以教給我們哪些工程知識

網絡工程師需要哪些知識I’ve been working as an engineer on the growth team at Airbnb for a couple of months now.我已經在Airbnb的成長團隊擔任工程師幾個月了。 Since I’m in an environment full of passionate developers, I wanted to share some of the good eng…

linux父進程循環,LINUX C 父進程建立多個子進程循環非堵塞回收列子

下面 代碼主要用于復習&#xff0c;留于此點擊(此處)折疊或打開/*************************************************************************> File Name: fork5.c> Author: gaopeng QQ:22389860 all right reserved> Mail: gaopp_200217163.com> Created Time: …

服務器自動運行python_在虛擬主機中安裝了python程序,如何使它在服務器上自動運行?...

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":3,"count":3}]},"card":[{"des":"IP地理位置庫(GeoIP Databases)是對運營商分…

模擬測試

題解&#xff1a; 3道水題。。 1。生活大爆炸版剪刀石頭布 忘記怎么打f[5][5]{}這個了。。 然后發現里面啥都不加也可以 加的話要是{} 2.送禮物 雙向搜 有點卡常數。。 我沒寫dfs 寫了dp求多少&#xff08;好智障啊。。 訪問數組挺慢的所以應該速度差不多。。&#xff09; lowb…

javascript閉包_通過郵寄包裹解釋JavaScript閉包

javascript閉包by Kevin Kononenko凱文科諾年科(Kevin Kononenko) 通過郵寄包裹解釋JavaScript閉包 (JavaScript Closures Explained by Mailing a Package) 如果您以前寄過包裹或信件&#xff0c;那么您可以了解JavaScript中的閉包。 (If you have mailed a package or lette…