python编程题-拼接最小字典序,,题目来源:牛客网对于


题目来源:牛客网

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

给定一个字符串数组strs,同时给定它的大小,请返回拼接成的串。

测试样例:

["abc","de"],2
"abcde"


python

代码

#-*-coding:utf-8-*-classPrior:deffindSmallest(self,strs,n):#writecodehereresstr=""foriinxrange(1,len(strs)):forjinxrange(0,i):if(strs[i]+strs[j])<(strs[j]+strs[i]):strs[i],strs[j]=strs[j],strs[i]return‘‘.join(strs)


shell实现

代码

#/bin/bash#byxianwei#2017-9-4cat<<EOF题目对于一个给定的字符串数组,请找到一种拼接顺序,使所有小字符串拼接成的大字符串是所有可能的拼接中字典序最小的。给定一个字符串数组strs,同时给定它的大小,请返回拼接成的串。测试样例:["abc","de"],2"abcde"EOFa=("kid""yqt""i""k")for((i=0;i<${#a[*]};i++))dofor((j=0;j<i;j++))doif[["${a[$i]}${a[$j]}"<"${a[$j]}${a[$i]}"]]thentmp=${a[$i]}echo$tmpa[$i]=${a[$j]}a[$j]=$tmpfidonedoneecho${a[*]}



C++实现

代码

classPrior{public:stringfindSmallest(vector<string>strs,intn){//writecodeherestringA;for(inti=0;i<strs.size();i++){for(intj=i;j<strs.size();j++){if((strs[i]+strs[j])>(strs[j]+strs[i]))//假如k+kid>kid+k,就交换swap(strs[i],strs[j]);}}for(inti=0;i<strs.size();i++){A=A+strs[i];}returnA;}};


本文出自 “从运维到开发” 博客,请务必保留此出处http://237085.blog.51cto.com/227085/1962689

python编程题-拼接最小字典序

相关内容

    暂无相关文章

评论关闭