LeetCode 1583 統計不開心的朋友

2021-10-09 11:07:51 字數 1741 閱讀 6410

題意:

給你乙份n位朋友的親近程度列表,其中n總是偶數

對每位朋友ipreferences[i]包含乙份按親近程度從高到低排列的朋友列表。換句話說,排在列表前面的朋友與i的親近程度比排在列表後面的朋友更高。每個列表中的朋友均以0n-1之間的整數表示。

所有的朋友被分成幾對,配對情況以列表pairs給出,其中pairs[i] = [xi, yi]表示xiyi配對,且yixi配對。

但是,這樣的配對情況可能會是其中部分朋友感到不開心。在xy配對且uv配對的情況下,如果同時滿足下述兩個條件,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 條以上的路徑可以進入或者離開。你需要為每個花園選擇一種花,使得通過路徑相連的任何兩個花園中的花的種類互不相同。以陣列形式返回選擇的方案作為...