首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
拼接所有的字符串产生字典序最小的字符串
[编程题]拼接所有的字符串产生字典序最小的字符串
热度指数:7138
时间限制:C/C++ 2秒,其他语言4秒
空间限制:C/C++ 256M,其他语言512M
算法知识视频讲解
给定一个长度为 n 的字符串数组 strs ,请找到一种拼接顺序,使得数组中所有的字符串拼接起来组成的字符串是所有拼接方案中字典序最小的,并返回这个拼接后的字符串。
数据范围:
,
进阶:空间复杂度
, 时间复杂度
示例1
输入
["abc","de"]
输出
"abcde"
示例2
输入
["a","a","b"]
输出
"aab"
备注:
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(0)
邀请回答
收藏(80)
分享
提交结果有问题?
14个回答
20篇题解
开通博客
江南好___
发表于 2021-07-18 23:20:49
精华题解
描述 题目描述 给定一个字符串的数组strs,请找到一种拼接顺序,使得所有的字符串拼接起来组成的字符串是所有可能性中字典序最小的,并返回这个字符串。 示例 输入:["abc","de"] 返回值:"abcde"知识点:字符串,数组难度:⭐⭐
展开全文
不会做题的小菜鸡
发表于 2021-07-18 16:12:54
精华题解
思路 我们知道string类型是重载了比较符的,所以可以直接用比较符进行比较,比较规则就是按字典序。因此我们只需要调用sort函数重载cmp函数指定比较规则即可 方法一:sort重载cmp函数 cmp函数中要规定两字符串的比较规则是: s1 + s2 < s2 + s1保证这样的字典序才
展开全文
棒棒糖🍭201906101800876
发表于 2021-07-16 10:03:10
精华题解
nc85. 拼接所有的字符串产生字典序最小的字符串 1. 思路一: (利用stl) 要想产生字典序最小的字符串, 只需尽量把字典序小的往前放. 所以我们进行一次排序, 将字典序小的排到前面. 但是需要注意的是, 对于两个字符串a和b, 如果直接比较a和b的字典序进行排序, 这样得到的答案将是错误的.
展开全文
超级码力233
发表于 2020-11-26 19:17:08
拼接所有的字符串产生字典序最小的字符串 题目链接 Solution 是拼接后的字符串字典序最小。根据贪心的思路,字典序小的放在前面比较优秀。比如"abc"放到"bca"的前面更好。但是这样有个问题,就是字符串长度的问题,比如"bc""bca"此时应该将字典序大的"bca"放到前面。为了解决此问题,不
展开全文
摸鱼学大师
发表于 2021-07-16 16:24:59
思路: 题目要求将所有的小字符串拼接成大字符串,使大字符串字典序最小,需要主要的有两点: 字符串越小的应该要在越靠前 字符串内部顺序不能动,只能添加连接 因此不是将所有较小的字符串排在前面相加,应该是s1+s2 < s2+s1比较,直接连接。 比如: 方法一:冒泡排序法(超时) 数据量过
展开全文
牛客516598323号
发表于 2020-09-14 16:46:14
往下翻,使用标准答案Pass这题吧。错误答案:思想1,排序字符串组,值从低到高,合并,但是通不过测试。 # # # @param strs string字符串一维数组 the strings # @return string字符串 # class Solution: def minStrin
展开全文
Maokt
发表于 2021-07-29 13:57:23
算法思想一:贪心排序 解题思路: 基本思路: 根据贪心的思路,字典序小的放在前面。比如"abc"放到"bca"的前面更好。 但是这样有个问题,就是字符串长度的问题,比如"bc""bca"此时应该将字典序大的&
展开全文
牛客869693901号
发表于 2022-04-03 19:39:08
注意是字符串拼接起来最小,不是加在一起按字符排序 此题可以用比较函数来实现Python的快排重载 可以用functools的cmp_to_key函数来进行compare(s1, s2)的比较函数转换 from functools import cmp_to_key class Solution:
展开全文
小陆要懂云
发表于 2021-09-02 21:09:08
string minString(vector<string>& strs) { // write code here sort(strs.begin(), strs.end(), [](const string &a,const stri
展开全文
牛客886831005号
发表于 2022-12-23 18:44:03
import java.util.*; public class Solution { /** * * @param strs string字符串一维数组 the strings * @return(756076230) string字符串 */
展开全文
辣椒酱up
发表于 2024-03-06 10:56:50
class Solution { public: static bool cmp(string a, string b){ // return (a + b) < (b + a); //表示b + a 更大就返回1,表示把b放在前面 if((a
展开全文
Louis201907010812408
发表于 2023-07-22 21:32:05
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param strs string字符串一维数组 the s
展开全文
fred-coder
发表于 2022-01-25 09:50:55
对字符串数组进行排序,排序规则是两个字符串合并后的排序结果的比较值 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param strs string字符串一维数组 the strings # @return string字符串 # import f
展开全文
问题信息
贪心
难度:
14条回答
80收藏
3484浏览
热门推荐
通过挑战的用户
查看代码
Andy9898
2023-03-14 19:53:45
K乀
2023-03-11 15:06:38
GeekExp...
2023-02-20 13:32:09
牛客64445...
2023-02-13 17:38:53
One Peach
2023-01-06 15:21:49
相关试题
下面使用贪心算法的是?
阿里巴巴
贪心
评论
(1)
求序列里最长的非降序列 例如:输...
百度
贪心
评论
(12)
进制转换
字符串
评论
(2541)
来自
华为研发工程师编程题
编译方法中,动态存储分配的含义是:()
编译和体系结构
评论
(2)
来自
乐视2017秋招开发工程...
闪速存储器能提供高性能、低功耗、字...
编程基础
评论
(1)
拼接所有的字符串产生字典序最小的字符串
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param strs string字符串一维数组 the strings * @return string字符串 */ public String minString (String[] strs) { // write code here } }
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param strs string字符串vector the strings * @return string字符串 */ string minString(vector
& strs) { // write code here } };
#coding:utf-8 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param strs string字符串一维数组 the strings # @return string字符串 # class Solution: def minString(self , strs ): # write code here
using System; using System.Collections.Generic; class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param strs string字符串一维数组 the strings * @return string字符串 */ public string minString (List
strs) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param strs string字符串一维数组 the strings * @return string字符串 */ function minString( strs ) { // write code here } module.exports = { minString : minString };
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param strs string字符串一维数组 the strings # @return string字符串 # class Solution: def minString(self , strs: List[str]) -> str: # write code here
package main import "fmt" /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param strs string字符串一维数组 the strings * @return string字符串 */ func minString( strs []string ) string { // write code here }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param strs string字符串一维数组 the strings * @param strsLen int strs数组长度 * @return string字符串 */ char* minString(char** strs, int strsLen ) { // write code here }
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param strs string字符串一维数组 the strings # @return string字符串 # class Solution def minString(strs) # write code here end end
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param strs string字符串一维数组 the strings * @return string字符串 */ def minString(strs: Array[String]): String = { // write code here } }
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param strs string字符串一维数组 the strings * @return string字符串 */ fun minString(strs: Array
): String { // write code here } }
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param strs string字符串一维数组 the strings * @return string字符串 */ public String minString (String[] strs) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param strs string字符串一维数组 the strings * @return string字符串 */ export function minString(strs: string[]): string { // write code here }
public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param strs string字符串一维数组 the strings * @return string字符串 */ func minString ( _ strs: [String]) -> String { // write code here } }
struct Solution{ } impl Solution { fn new() -> Self { Solution{} } /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param strs string字符串一维数组 the strings * @return string字符串 */ pub fn minString(&self, strs: Vec
) -> String { // write code here } }
["abc","de"]
"abcde"
["a","a","b"]
"aab"