358. Rearrange String k Distance Apart

Hard
Hash Table
String
Greedy
Sorting
Heap (Priority Queue)
Counting

Description

From doocs/leetcode

Given a string s and an integer k, rearrange s such that the same characters are at least distance k from each other. If it is not possible to rearrange the string, return an empty string "".

 

Example 1:

Input: s = "aabbcc", k = 3
Output: "abcabc"
Explanation: The same letters are at least a distance of 3 from each other.

Example 2:

Input: s = "aaabc", k = 3
Output: ""
Explanation: It is not possible to rearrange the string.

Example 3:

Input: s = "aaadbbcc", k = 2
Output: "abacabcd"
Explanation: The same letters are at least a distance of 2 from each other.

 

Constraints:

    • 1 <= s.length <= 3 * 105
    • s consists of only lowercase English letters.
    • 0 <= k <= s.length

Statistics

Acceptance
39.5%
Submissions
180,737
Accepted
71,372