字符串拼接最小字典
来源:互联网 发布:提高成绩的软件 编辑:程序博客网 时间:2024/06/05 06:26
给定一个字符串数组,找到一种拼接顺序,使得所有小字符串拼接成的大字符串在所有可能的拼接中字典序最小。
例如:给定strArr = {"bac", "bd"},n = 2。则有两种拼接顺序bacbd和bdbac,显然第一种拼接的字典序要小于第二种。
我们是否可以这样认为:如果str1的字典序小于str2的字典序,那么str1一定就放在前面,也就是str1+str2的字典序一定小于str2+str1的字典序呢?
看下面一个例子。
strArr = {"b", "ba"},如果按照上面的说法就应该是b的字典序小于ba的字典序,那么拼接后较小的字典序应该是bba。显然不正确,另一种拼接顺序bab的字典序是比bba要小的。
所以,不能单纯的按照单个字符串的字典序小就把它排在前面的思想。而是应该看二者之和的字典序的大小,也就是:
如果str1+str2 < str2 + str1,则将str1放在前面,否则将str2放在前面。
code:
string maxDictionarySort(vector<string> vec, int n){sort(vec.begin(), vec.end(), cmp);string result = "";for(int i = 0; i < n; ++i)result += vec[i];return result;}//给字符串的排序规则static bool cmp(string s1, string s2){return (s1 + s2) <= (s2 + s1) ? true : false;}
阅读全文
1 0
- 字符串拼接最小字典
- 【拼接最小字典序字符串】(python)
- 拼接最小字典序 --字符串数组
- 字符串9:拼接最小字典序练习题
- 拼接字符串数组使字典序最小
- 字符串——拼接最小字典
- 拼接最小字典序
- 拼接最小字典序
- 拼接最小字典序练习
- 拼接最小字典序练习题
- 字符串问题---拼接所有字符串产生字典顺序最小的大字符串
- 将一个字符串数组中的字符串拼接出来,使得字典序最小
- 数据结构与算法分析笔记与总结(java实现)--字符串9:拼接最小字典序练习题
- 算法编程题6-字符串拼接找到字典序最小组合问题
- 牛客网-拼接最小字典序问题
- [牛客]拼接最小字典序练习题
- 拼接最小字典序 类似 [LintCode]379
- 最小字典树输出字符串
- knn算法
- 【iOS控件】拖动的时间轴
- 利用ultra librarian reader 或 LP Wizard等自动生成封装工具 生成 cadence 封装 没有引脚pins解决办法
- springboot(七):springboot+mybatis多数据源最简解决方案
- 功夫小子实践开发-基本工具类的分析和实现
- 字符串拼接最小字典
- C++中的explicit
- Java中final的使用规则
- 统计文件里各个字母出现的个数
- bzoj 1853 容斥原理
- 使用open, 文件名中有中文导致程序出错的解决办法
- 根据java反射机制 通过传入的参数 对传入的List 进行排序
- 剑指offer--用两个栈实现队列
- Ubuntu16.04安装java