首页 > 其他 > 详细

767. Reorganize String

时间:2018-10-31 13:27:03      阅读:123      评论:0      收藏:0      [点我收藏+]
 1 class Solution {
 2     public String reorganizeString(String S) {
 3         if(S.length() == 0) return "";
 4         int[] arr = new int[26];
 5         int max = 0;
 6         for(int i = 0; i < S.length(); i++){
 7             arr[S.charAt(i) - ‘a‘]++;
 8         }
 9         int index = 0;
10         int sum = 0;
11         for(int i = 0; i < 26; i++){
12             sum += arr[i];
13             if(max < arr[i]){
14                 max = arr[i];
15                 index = i;
16             }
17         }
18         sum = sum - arr[index];
19         arr[index] = 0;
20         if(sum < max-1){
21             return "";
22         }
23         String[] res = new String[max];
24         for(int i = 0; i < max; i++){
25             res[i] = "" + (char)(‘a‘ + index);
26             for(int j = 0; j < 26; j++){
27                 if(arr[j] != 0){
28                     res[i] = res[i] + (char)(‘a‘ + j);
29                     arr[j]--;
30                     break;
31                 }
32                 
33             }
34         }
35         for(int i = 0; i < max; i++){
36             for(int j = 0; j < 26; j++){
37                 if(arr[j] != 0){
38                     res[i] = res[i] + (char)(‘a‘ + j);
39                     arr[j]--;
40                 }
41                 
42             }
43         }
44         
45         String str = "";
46         for(int i = 0; i < max; i++){
47             str += res[i];
48         }
49         return str;
50         
51     }
52 }

 

767. Reorganize String

原文:https://www.cnblogs.com/goPanama/p/9882390.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!