sponsored links

知乎高贊!2道大廠高頻筆試演算法題!你會嗎?

知乎高贊!2道大廠高頻筆試演算法題!你會嗎?

對於如今找工作的小夥伴們,只要是涉及到程式設計的崗位,無一例外都會對程式設計進行考察,所以大家要在平時的學習中,多多的去練習程式設計,提高自己的程式設計能力。今天,小編就帶領大家來學習兩道出現頻率較高的趣味筆試題,讓大家在學習的過程中,來提高進步。

01兩地排程為題

1).題目描述:公司計劃面試 2N 人。第 i 人飛往 A 市的費用為 costs[i][0],飛往 B 市的費用為 costs[i][1]。

返回將每個人都飛到某座城市的最低費用,要求每個城市都有 N 人抵達。例如:

輸入:[[10,20],[30,200],[400,50],[30,20]]輸出:110解釋:第一個人去 A 市,費用為 10。第二個人去 A 市,費用為 30。第三個人去 B 市,費用為 50。第四個人去 B 市,費用為 20。

最低總費用為 10 + 30 + 50 + 20 = 110,每個城市都有一半的人在面試。

2).思路

面對這種問題,我們可以採用貪心演算法來解決。

原因是,我們針對每一個人都找到他去往A地或者是B地的最低費用,而這樣的區域性最優解就能夠組成全域性的最優解。

這道題中,先把輸入的陣列按照兩地的費用之差的絕對值進行升序排序,然後當去往A地和B地都還有名額的時候,就去花費比較小的目的地。

如果去A地的名額滿了,那剩下的人肯定都得去B地,同理如果去B地的滿了,剩下的人都得去A地。

3).基礎解法:

知乎高贊!2道大廠高頻筆試演算法題!你會嗎?

上圖中的程式是基礎的解法,可以看到首先將費用列表按照費用差進行升序排序,然後根據去往A地和B地的人數以及費用的大小來判斷去往A地還是B地。程式總體是按照我們的思路來進行編寫的,非常容易理解。

4).進階版:

知乎高贊!2道大廠高頻筆試演算法題!你會嗎?

進階版的程式更加的巧妙,這是為什麼呢,首先,程式不再按照絕對值進行升序排序了,而是按照去往A地和去往B地的費用差值來排序,排序之後由於去往A地和B地都是總人數的一半,所以排序後的前一半的人,去往A地是最便宜的,而後一半的人是去往B地最便宜的,基於這個思路,程式就很容易理解了。

02.反轉二叉樹

對於二叉樹的考察,無論是在筆試還是面試中,都會是考察的重點問題,我們今天來理解一下高頻的筆試面試題,反轉二叉樹。對於二叉樹的反轉,這裡採用一個動態圖進行更加直觀的展示,來方便大家的理解。

1).思路

可以看到,反轉二叉樹就是從根節點開始,左右子樹全部交換,左子樹變為右子樹,從上圖我們也可以看出,這是一個典型的遞迴問題,也就是我們可以透過不斷的遞迴迭代來交換一棵樹的左右子節點,來達到整體的反轉二叉樹的目的。

2).遞迴版本:

上述的程式中,可以看到,當節點是None時,說明達到了葉子節點了,此時返回None,否則的話,就不斷的遞迴呼叫函式本身,來反轉該節點下的左子樹和右子樹,從而達到反轉二叉樹的目的。

除了有遞迴迭代的版本之外,可以利用queue的特點來實現二叉樹的反轉,queue的特點是先進先出。

3).Queue版本:

上述的程式中,首先我們判斷root是否為空,為空的話則直接返回None即可。接下來就是利用queue,只要queue不為空,那麼我們就pop掉queue中的最後一個元;

然後反轉它的左右子節點,如果該子節點的左右子樹不為空,就新增到myqueue中,繼續迴圈,來反轉其左右子樹的子節點。以此來達到反轉整個二叉樹的目的;

可以看到,queue的版本中,並沒有用到函式的遞迴迭代,而時用到了queue的先進先出的性質來進行了二叉樹的反轉。

總結

今天,帶領大家學習了兩個高頻的筆試面試演算法題,大家要仔細的將程式理解,並要學會如何巧妙的使用這些演算法,來解決其他類似的演算法題,只有勤加練習,才能成為高手,希望大家能在日常中,多多刷題,提高自己的能力。

分類: 科學
時間: 2021-12-23

相關文章

加州大學洛杉磯分校在細菌中加入銀 使微生物燃料電池的功率超過以往兩倍

加州大學洛杉磯分校在細菌中加入銀 使微生物燃料電池的功率超過以往兩倍
據外媒報道,加州大學洛杉磯分校(UCLA)領導的研究團隊在開發微生物燃料電池方面邁出了重要一步.該技術利用天然細菌從廢水的有機物中提取電子,從而產生電流. (圖片來源:UCLA) 加州大學洛杉磯分校薩 ...

研究發現高脂肪飲食幫助癌細胞“躲避”免疫系統

研究發現高脂肪飲食幫助癌細胞“躲避”免疫系統
據外媒報道,到目前為止,高脂肪飲食被認為與患結腸癌的風險增加有關,這一點已經得到確認,但這兩者是如何關聯仍然不清楚.麻省理工學院.哈佛醫學院和冷泉港實驗室的研究人員的一項新研究改變了這一點.至少當涉及 ...

科學家在德國1140萬年前的地層中發現一種新水獺物種

科學家在德國1140萬年前的地層中發現一種新水獺物種
據外媒報道,來自蒂賓根大學和薩拉戈薩大學的研究人員在Hammerschmiede化石遺址的1140萬年前的地層中發現了一種此前未知的水獺物種.2019年,德國Allgäu地區的挖掘現場因發現了兩足類人 ...

什麼是人骨考古學?如何從骨骼中發現人類簡史?

什麼是人骨考古學?如何從骨骼中發現人類簡史?
澎湃問吧 法醫常說:"屍體是不會騙人的."同樣,考古發現的人類遺骸也是不會騙人的.人骨考古學家以考古遺址中的骨骼和牙齒為研究物件,探索人類的起源與進化.古代人類的體質特徵.生活方式 ...

為什麼說在火星上發現滅絕的智慧生物,會讓人類陷入絕望的境地?

為什麼說在火星上發現滅絕的智慧生物,會讓人類陷入絕望的境地?
火星是太陽系中與地球的自然環境最相似的一顆行星,雖然我們現在所看到的火星是一顆毫無生機的荒蕪星球,但是在很久以前,火星上卻很可能像地球一樣存在著濃密的大氣層.廣袤的海洋以及適宜生命生存的溫度,所以一個 ...

科學家在1600萬年前的多明尼加琥珀中發現水熊新物種
緩步動物也被稱為水熊,是一個多樣化的有魅力的微型無脊椎動物群體,它們因其在極端條件下的生存能力而最為出名.一個著名的例子是2007年的一次太空旅行,在那裡水熊被暴露在太空真空和有害的電離太陽輻射中,但 ...

“科學島”發現新型急性髓性白血病抑制劑
近日,中科院合肥物質科學研究院健康與醫學技術研究所劉青松藥學團隊在急性髓性白血病藥物研發方面取得新進展.研究團隊發現了一種新型熱休克蛋白HSP70抑制劑QL47,它可以有效地抑制急性髓系白血病細胞增殖 ...

粟裕去世,骨灰中發現3枚彈片,令楚青失聲痛哭:折磨了他54年啊

粟裕去世,骨灰中發現3枚彈片,令楚青失聲痛哭:折磨了他54年啊
"時晴時雨正清明,萬里送君伴君行.寬慰似見忠魂笑,遣懷珍惜戰友情.惟思躍馬揮鞭日,但憶疆場捷報頻.東南此刻花似錦,堪慰英靈一片心." 這是粟裕大將辭世後,妻子楚青帶著丈夫那&quo ...

美國空曠沙漠中發現屍體,恐為失蹤亞裔女子
亞太日報 Shannon 南加州的搜尋人員在尤卡谷沙漠中發現了一具屍體,兩個月前勞倫-周在該地區失蹤. 聖貝納迪諾縣警察局上週日宣佈,週六在沙漠裡的崎嶇地形中發現了人體遺骸.目前,法醫辦公室正在努力鑑 ...

102歲的抗戰老兵:“李雲龍”的原型,火化後骨灰中發現27塊彈片

102歲的抗戰老兵:“李雲龍”的原型,火化後骨灰中發現27塊彈片
在革命戰爭年代,很多戰士.革命老兵都在默默無聞地付出,現在的我們是無法體會他們當時的心境的. 有人提出來說:當年的他們也不知道要多久才能勝利.才能成功. 李先忠戰士 對於當年正在革命中的革命老兵們來說 ...

研究發現,在天然氣井附近的家庭中發現了更高水平的有機汙染物

研究發現,在天然氣井附近的家庭中發現了更高水平的有機汙染物
圖片來源:Pixabay/CC0 Public Domain 多倫多大學的一項研究發現,那些住在天然氣井附近的人,在家中會接觸到更高水平的某些有機汙染物. 這項研究調查了生活在不列顛哥倫比亞省東北部地 ...

2009年加拿大河中發現一輛車,4女子死於車中,父親:上帝的旨意

2009年加拿大河中發現一輛車,4女子死於車中,父親:上帝的旨意
2009年7月30日,一個人在加拿大魁北克金斯頓裡多運河旁邊的木棧道上跑步,突然,他發現在公園內一處水閘附近露出了一輛汽車的頂部,由於這條河水深只有不到兩米,所以汽車並沒有沉底,隨即這名晨跑者就向警察 ...

抽屜中發現16世紀的盤子 以120萬英鎊賣出

抽屜中發現16世紀的盤子 以120萬英鎊賣出
據<鏡報>10月8日報道,蘇格蘭羅伍德莊園的一個抽屜裡發現一枚16世紀的盤子,最後以120萬英鎊的價格拍賣.據悉,這個盤子上描繪了聖經中參孫和黛利拉的故事,是由義大利藝術家Nicola d ...

1990年,河南一農民老房子中發現油紙包,專家鑑定後:上交國家

1990年,河南一農民老房子中發現油紙包,專家鑑定後:上交國家
1990年秋,連續幾天的降雨,河南省洛陽市大郎廟村楊紅軍家裡的一間土坯房,承受不住雨水的沖刷,隨之坍塌. 雨停後,老實巴交的楊紅軍兩口喊上隔壁磚瓦房裡的兒子楊磊,開始收拾滿院的土坯碎塊.就在楊紅軍與兒 ...

流通中發現一枚罕見硬幣,這枚價值萬元,可別放過

流通中發現一枚罕見硬幣,這枚價值萬元,可別放過
人民幣的收藏,就是對於稀有品種的收藏,最出名的自然就是老精稀的收藏,也就是老版.精緻和稀有,這就是人民幣的主要收藏特點,而如今第四套人民幣退市在即,菊花一角硬幣就是典型的收藏品種,這版一角硬幣從201 ...

下班回家後,男子在房中發現3個孩子的遺體,警方懷疑是妻子乾的

下班回家後,男子在房中發現3個孩子的遺體,警方懷疑是妻子乾的
據英國<太陽報>9月17日報道,在紐西蘭的提馬魯發生了一幕慘劇.一名男子下班回家後發現自己的3個孩子都死在了家中,第二天他的妻子卻遭到了謀殺指控. 報道稱,這名男子名為格雷厄姆·迪卡森(G ...

豬肉價格震盪中發現農業機會
豬肉從去年的最高價40元,跌到最近谷底4塊多一斤,養殖戶還不得不賣.豬週期一直存在,還非常的劇烈,這就是中國特色農業!這次這麼大的價格波動,主要原因還是嚴重的供大於求,受最近兩年好行情影響,養殖戶跟風 ...

盤點十大國寶級動物
1.中華鱘所屬的鱘魚類都是在距今約1.4億年的中生代末期的上白堊紀出現的,中國曾在遼寧北票晚侏羅紀(距今1億4千萬年前)地層中發現過鱘類化石,名北票鱘.這種鱘只在兩體側有一行側線鱗,其它體表裸露,與中 ...

六耳獼猴為何一點都不怕如來佛祖,非要跟孫悟空到靈山一辨真假

六耳獼猴為何一點都不怕如來佛祖,非要跟孫悟空到靈山一辨真假
真假孫悟空一難,其實看似對唐僧師徒來講很兇險,但本身,卻一點兒危險性也不存在.最大的兇險之處是,唐僧被假孫悟空打殺了一棒,但我們也發現了,唐僧被打了一棒,只是略有些腰疼,但是卻沒受到什麼傷害,連受傷都 ...

我們如何感知世界?——2021年諾貝爾生理學或醫學獎解讀(3)

我們如何感知世界?——2021年諾貝爾生理學或醫學獎解讀(3)
自2021年10月4日諾貝爾生理學或醫學獎公佈之日開始,作者在本人頭條號<奇雲空間>連續發表了多篇有關2021年諾貝爾生理學或醫學獎的解讀文章.其中包括: 奇雲:<2021年諾貝爾生 ...