首页 > 试题广场 >

拼接所有的字符串产生字典序最小的字符串

[编程题]拼接所有的字符串产生字典序最小的字符串
  • 热度指数:7005 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个长度为 n 的字符串数组 strs ,请找到一种拼接顺序,使得数组中所有的字符串拼接起来组成的字符串是所有拼接方案中字典序最小的,并返回这个拼接后的字符串。

数据范围:
进阶:空间复杂度 , 时间复杂度
示例1

输入

["abc","de"]

输出

"abcde"
示例2

输入

["a","a","b"]

输出

"aab"

备注:

package main

import "sort"
import "strings"

/**
 * 
 * @param strs string字符串一维数组 the strings
 * @return string字符串
*/
func minString( strs []string ) string {
    sort.Slice(strs,func(i,j int)bool{
        if strs[i]+strs[j]<strs[j]+strs[i]{
            return true
        }
        return false
    })
    return strings.Join(strs,"") 
}

发表于 2023-03-08 18:36:29 回复(0)