給你一些區域列表 regions ,每個列表的第乙個區域都包含這個列表內所有其他區域。
很自然地,如果區域 x 包含區域 y ,那麼區域 x 比區域 y 大。
給定兩個區域 region1 和 region2 ,找到同時包含這兩個區域的 最小 區域。
如果區域列表中 r1 包含 r2 和 r3 ,那麼資料保證 r2 不會包含 r3 。
資料同樣保證最小公共區域一定存在。
示例 1:
輸入:regions = [["earth","north america","south america"],
["north america","united states","canada"],
["united states","new york","boston"],
["canada","ontario","quebec"],
["south america","brazil"]],
region1 = "quebec",
region2 = "new york"
輸出:"north america"
2 <= regions.length <= 10^4
region1 != region2
所有字串只包含英文本母和空格,且最多只有 20 個字母。
class solution
if(fa[region1] == region2) return region2;
if(fa[region2] == region1) return region1;
while(region1!="")
while(region2!="")
return "";
}};
Leetcode 最小公共祖先
演算法描述 在二叉樹中求指定兩個節點的最小公共祖先 輸入 treenode root,p,q 輸出 lca 參考思路 演算法思路 首先構建如下結構體儲存所需要的資訊 struct frame在求解過程中,需要知道當前節點以及其父節點,並記錄可能的最小公共父節點。首先構建樹的後序遍歷序列ret,以fr...
max min fairness 最大最小公平演算法
我們經常面臨給一組使用者劃分稀有資源的問題,他們都享有等價的權利來獲取資源,但是其中一些使用者實際上只需要比其他使用者少的資源.那麼我們如何來分配資源呢?一種在實際中廣泛使用的分享技術稱作 最大最小公平分享 直觀上,公平分享分配給每個使用者想要的可以滿足的最小需求,然後將沒有使用的資源均勻的分配給需...
最小公倍數
最大公倍數最大是兩個數的乘積,兩個數互質 最大公約數是1 幾個數共有的倍數叫做這幾個數的公倍數,其中除0以外最小的乙個公倍數,叫做這幾個數的最小公倍數。記作 a,b 與最小公倍數相對應的概念是最大公約數,a,b的最大公約數記為 a,b 關於最小公倍數與最大公約數,我們有這樣的定理 a,b a,b a...