leetcode 767 重構字串

2021-09-20 07:20:49 字數 623 閱讀 3388

描述

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

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

示例 1:

輸入: s = 「aab」

輸出: 「aba」

示例 2:

輸入: s = 「aaab」

輸出: 「」

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

思路從小到大,交叉著插入

bool

cmp(pair<

char

,int

> p1,pair<

char

,int

> p2)

class

solution

sort

(v.begin()

,v.end()

,cmp);if

(v[25

].second-

1>n-v[25]

.second)

return"";

int p=1;

for(

auto t:v)

}return s;}}

;

參考:

Leetcode 767 重構字串

給定乙個字串s,檢查是否能重新排布其中的字母,使得兩相鄰的字元不同。若可行,輸出任意可行的結果。若不可行,返回空字串。示例 1 輸入 s aab 輸出 aba 示例 2 輸入 s aaab 輸出 注意 解題思路 任務排程問題,排序。本題有點像之前的乙個任務排程問題,由於題量太大,忘了哪乙個。統計當前...

LeetCode 767 重構字串

給定乙個字串s,檢查是否能重新排布其中的字母,使得兩相鄰的字元不同。若可行,輸出任意可行的結果。若不可行,返回空字串。示例 1 輸入 s aab 輸出 aba 示例 2 輸入 s aaab 輸出 注意 s 只包含小寫字母並且長度在 1,500 區間內。通過次數13,259 提交次數30,089思路 ...

leetCode 767 重構字串

給定乙個字串s,檢查是否能重新排布其中的字母,使得兩相鄰的字元不同。若可行,輸出任意可行的結果。若不可行,返回空字串。示例 1 輸入 s aab 輸出 aba 示例 2 輸入 s aaab 輸出 注意 s 只包含小寫字母並且長度在 1,500 區間內。將出現頻率次數最多的字母重新排列後不相鄰,則可以...