題意:
給你乙份n
位朋友的親近程度列表,其中n
總是偶數。
對每位朋友i
,preferences[i]
包含乙份按親近程度從高到低排列的朋友列表。換句話說,排在列表前面的朋友與i
的親近程度比排在列表後面的朋友更高。每個列表中的朋友均以0
到n-1
之間的整數表示。
所有的朋友被分成幾對,配對情況以列表pairs
給出,其中pairs[i] = [xi, yi]
表示xi
與yi
配對,且yi
與xi
配對。
但是,這樣的配對情況可能會是其中部分朋友感到不開心。在x
與y
配對且u
與v
配對的情況下,如果同時滿足下述兩個條件,x
就會不開心:
返回不開心的朋友的數目。
示例 1:
輸入:n = 4, preferences = [[1, 2, 3], [3, 2, 0], [3, 1, 0], [1, 2, 0]], pairs = [[0, 1], [2, 3]]輸出:2解釋:朋友 1 不開心,因為:解題思路:-1 與 0配對,但1 與 3的親近程度比1 與 0高,且
-3 與 1的親近程度比3 與 2高。
朋友 3 不開心,因為:
- 3 與 2 配對,但3 與 1的親近程度比3 與 2高,且
-1 與 3的親近程度比1 與 0高。
朋友 0 和 2 都是開心的。
題目太長了,不太好懂, 注意:題目中的 x 和 y 可以交換, u 和 v 可以交換
class solution
return false;
} for(int i = 0; i < n; i++)
for(int i = 0; i < n; i++)
}for(int i = 0; i < n/2; i++)
int x = pairs[i][0], y = pairs[i][1];
int u = pairs[j][0], v = pairs[j][1];
if(check(x, y, u, v) || check(x, y, v, u))
if(check(y, x, u, v) || check(y, x, v, u)) }}
int ans = 0;
for(int i = 0; i < n; i++)
}return ans;
}};
mysql重複不統計
上星期面試遇到以為面試官問我一道sql題,一張學生表,一張班級表,一張中間表,統計每個班級裡的人數,這個用group by也不難,問題是後面加了個問題,每個班級統計過的人不要再統計,這改的有點脫離現實,不過如果真遇到這種問題還是需要處理,當時做不出來,回來上網查了些資料,然後得出答案 select ...
LeetCode 統計重複個數
q 由 n 個連線的字串 s 組成字串 s,記作 s s,n 例如,abc 3 abcabcabc 如果我們可以從 s2 中刪除某些字元使其變為 s1,則稱字串 s1 可以從字串 s2 獲得。例如,根據定義,abc 可以從 abdbec 獲得,但不能從 acbbe 獲得。現在給你兩個非空字串 s1 ...
不鄰接植花(leetcode)
有 n 個花園,按從 1 到 n 標記。在每個花園中,你打算種下四種花之一。paths i x,y 描述了花園 x 到花園 y 的雙向路徑。另外,沒有花園有 3 條以上的路徑可以進入或者離開。你需要為每個花園選擇一種花,使得通過路徑相連的任何兩個花園中的花的種類互不相同。以陣列形式返回選擇的方案作為...