桶排序_LeetCode_1528

题目:

给你一个字符串 s 和一个 长度相同 的整数数组 indices 。
请你重新排列字符串 s ,其中第 i 个字符需要移动到 indices[i] 指示的位置。返回重新排列后的字符串。
示例1:
输入:s = "codeleet", indices = [4,5,6,7,0,2,1,3]
输出:"leetcode"
解释:如图所示,"codeleet" 重新排列后变为 "leetcode" 。

约束:

s.length == indices.length == n
1 <= n <= 100
s 仅包含小写英文字母。
0 <= indices[i] < n
indices 的所有的值都是唯一的(也就是说,indices 是整数 0 到 n - 1 形成的一组排列)

解体思路:

1. 从indices给出的值的范围第一反应就是桶排序,根据indices的数值特点,桶的大小使用indices的数组大小即可
2.使用StringBuilder进行新的字符串的构建,效率更高

涉及的方法:

1、String.charAt(index);
2、StringBuilder sb
   sb.append(char);
   sb.toString();
   
   

vscode链接

   https://github.com/lunaDolphin/leetcode/tree/master/1528_restoreString


你可能感兴趣的:(算法,排序,java)