美文网首页算法
字符串最低字典序拼接

字符串最低字典序拼接

作者: 一凡呀 | 来源:发表于2018-01-17 19:55 被阅读0次

题目:

image.png

思路:

先解释何为字典序,借用百度百科


image.png

首先我们一般都会想到,一个数组,要把所有元素组合起来,字典序最小,那就把小的数字放前面大的放后面就行了,但是实际上这种想法是错误的,例如数组{b,ba},字典序b<ba,但是拼接起来bba>bab
所以我们又想到了一种思想就是把str1和str2拼接起来比较大小,即str1.str2>=str2.str1,那么就把str2放在前面,用的是贪心,具体证明看牛客网初级班第八章,数学思想的运用,

代码:

    public static class MyComparator implements Comparator<String> {
        @Override
        public int compare(String a, String b) {
            return (a + b).compareTo(b + a);
        }
    }

    public static String lowestString(String[] strs) {
        if (strs == null || strs.length == 0) {
            return "";
        }
        Arrays.sort(strs, new MyComparator());
        String res = "";
        for (int i = 0; i < strs.length; i++) {
            res += strs[i];
        }
        return res;
    }

    public static void main(String[] args) {
        String[] strs1 = { "jibw", "ji", "jp", "bw", "jibw" };
        System.out.println(lowestString(strs1));

        String[] strs2 = { "ba", "b" };
        System.out.println(lowestString(strs2));

    }

相关文章

  • 字符串最低字典序拼接

    题目: 思路: 先解释何为字典序,借用百度百科 首先我们一般都会想到,一个数组,要把所有元素组合起来,字典序最小,...

  • 拼接字符串,使字典序最小

    给定一个字符串类型的数组strs,找到一种拼接方式,使得把所有字符串拼起来之后形成的字符串具有最低的字典序。输入:...

  • 3_8拼接最小字典序

    对于一个给定的字符串数组,请找到一种拼接顺序,使所有小字符串拼接成的大字符串是所有可能的拼接中字典序最小的。 给定...

  • 拼接最小字典序

    题目 对于一个给定的字符串数组,请找到一种拼接顺序,使所有小字符串拼接成的大字符串是所有可能的拼接中字典序最小的。...

  • 算法(9) 拼接最小字符串

    描述对于一个给定的字符串数组,请找到一种拼接顺序,使所有小字符串拼接成的大字符串是所有可能的拼接中字典序最小的。给...

  • 问题:求最小字符串拼接序列

    对于一个给定的字符串数组,请找到一种拼接顺序,使所有小字符串拼接成的大字符串是所有可能的拼接中字典序最小的。不同于...

  • 字典的升序排列以及字符串的拼接

    /**字典的升序排列以及字符串的拼接 @param params 待排序的字典@return 拼接好的字符串*/

  • join函数

    作用:把列表、元组、字典,字符串 等元素按照规定分隔符拼接成新的字符串 ‘a’.join(b) a是分隔符,b是序...

  • 微信公众号接入服务器验证(Go实现)

    1 基本流程 将token、timestamp、nonce三个参数进行字典序排序 将三个参数字符串拼接成一个字符串...

  • 字符串—拼接最小字典序

    https://github.com/yuanoOo/Algorithm/tree/master/String/%...

网友评论

    本文标题:字符串最低字典序拼接

    本文链接:https://www.haomeiwen.com/subject/mlouoxtx.html