zoukankan      html  css  js  c++  java
  • LeetCode

    Given a string S, check if the letters can be rearranged so that two characters that are adjacent to each other are not the same.

    If possible, output any possible result.  If not possible, return the empty string.

    Example 1:

    Input: S = "aab"
    Output: "aba"
    

    Example 2:

    Input: S = "aaab"
    Output: ""
    

    Note:

    • S will consist of lowercase letters and have length in range [1, 500].

    贪心

    class Solution {
        public String reorganizeString(String S) {
            if (S == null || S.length() <= 0)
                return "";
            int[] chs = new int[26];
            for (int i=0; i<26; i++) {
                chs[i] = 0;
            }
            for (int i=0; i<S.length(); i++) {
                chs[S.charAt(i)-'a']++;
            }
            StringBuilder ret = new StringBuilder();
            char curChar = findMaxChar(chs, -1);
            while (curChar != '#' && curChar != '$') {
                ret.append(curChar);
                curChar = findMaxChar(chs, ret.charAt(ret.length()-1)-'a');
            }
            if (curChar == '$')
                return ret.toString();
            else
                return "";
        }
        
        private char findMaxChar(int[] chs, int target) {
            char ret = '#';
            int maxCnt = 0, cnt=0;
            for (int i=0; i<26; i++) {
                if (chs[i] == 0)
                    cnt ++;
                if (maxCnt < chs[i] && i!=target) {
                    maxCnt = chs[i];
                    ret = (char)(i+'a');
                }
            }
            if (cnt == 26)
                return '$';
            if (ret != '#')
                chs[ret-'a']--;
            return ret;
        }
    }
  • 相关阅读:
    jquery 筛选元素(1)
    jquery操作元素的位置
    jquery 操作css 选择器
    jquery 操作css 尺寸
    jquery 标签中的属性操作
    jquery基本选择器
    jquery表单属性筛选元素
    jquery属性值选择器
    jquery 层级选择器
    jquery的基本选择器
  • 原文地址:https://www.cnblogs.com/wxisme/p/9504180.html
Copyright © 2011-2022 走看看