767 重構字串(仿函式呼叫外部資料)

2022-06-07 18:12:08 字數 964 閱讀 5494

給定乙個字串s,檢查是否能重新排布其中的字母,使得兩相鄰的字元不同。

若可行,輸出任意可行的結果。若不可行,返回空字串。

示例 1:

輸入: s = "aab"

輸出: "aba"

示例 2:

輸入: s = "aaab"

輸出: ""

注意:s 只包含小寫字母並且長度在[1, 500]區間內。

解法:優先佇列--大頂堆

1

class

solution 8//

};9string reorganizestring(string

s) 19

if(maxlen > (len + 1) / 2)20

return"";

2122 auto cmp = [&](const

char& letter1, const

char&letter2) ;

2526 priority_queue, decltype(cmp)>q(cmp);

27for(char ch = '

a'; ch<='

z'; ch++)

31string ans = "";32

while(q.size() > 1)46

if(q.size() > 0

)47 ans +=q.top();

48return

ans;49}

50 };

1

class

solution 17}

18string ans = ""

;19 pair pre(0, '

');

20while

(q.size())

29return

ans;30}

31 };

767 重構字串

重構字串 題目描述提示幫助提交記錄社群討論閱讀解答 隨機一題 給定乙個字串s,檢查是否能重新排布其中的字母,使得兩相鄰的字元不同。若可行,輸出任意可行的結果。若不可行,返回空字串。示例 1 輸入 s aab 輸出 aba 示例 2 輸入 s aaab 輸出 注意 s 只包含小寫字母並且長度在 1,5...

767 重構字串

給定乙個字串s,檢查是否能重新排布其中的字母,使得兩相鄰的字元不同。若可行,輸出任意可行的結果。若不可行,返回空字串。public string reorganizestring string s int counts new int 26 int maxcount 0 int length s.l...

767 重構字串

767.重構字串 給定乙個字串s,檢查是否能重新排布其中的字母,使得兩相鄰的字元不同。若可行,輸出任意可行的結果。若不可行,返回空字串。示例 1 輸入 s aab 輸出 aba 示例 2 輸入 s aaab 輸出 注意 s 只包含小寫字母並且長度在 1,500 區間內。基本思路 貪心演算法,首先使用...