美文网首页
神奇的String字符串排序

神奇的String字符串排序

作者: 优劣在于己 | 来源:发表于2020-10-13 21:05 被阅读0次

感慨一下,大神请跳过,string这个东西太神奇了啊,可以直接比大小
洛谷的一道题,虽说简单,但看到一种比较方法,是真的有被学习到
笔记笔记时间

题目

设有 n个正整数 a1,a2...an ,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。


思路

可能想过

bool cmp(const string a,const string b){
    return a>b;
}

但存在一个问题,第一位相同的两个整数321和32,用上面的排序,最终321>32,得到32132;但我们要的却是32>321,结果为32321,所以很巧妙用到下面的代码

bool cmp(const string a,const string b){
    return a+b>b+a;
}

bool cmp(int a,int b){return a>b;}
这个可能有的小朋友还不懂
是自定义的排序,若为>,从大到小,反之从小到大

完整代码如下:
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cstring>
using namespace std;
string x[25];
bool cmp(const string a,const string b){
    return a+b>b+a;
}
int main(){
    int n;
    cin>>n;
    for(int i=0;i<n;i++)cin>>x[i];
    sort(x,x+n,cmp);
    for(int i=0;i<n;i++)cout<<x[i];
    cout<<endl;
    return 0;
}

相关文章

  • 神奇的String字符串排序

    感慨一下,大神请跳过,string这个东西太神奇了啊,可以直接比大小洛谷的一道题,虽说简单,但看到一种比较方法,是...

  • jdk中的比较器Comparator

    1.字符串String是怎么排序的? 下面的代码,userName是String型的 Comparator 类中的...

  • 字符串排序

    一、字符串排序算法比较 本文介绍的排序算法与传统的基于比较的通用排序算法不同,本文主要介绍LSD string s...

  • 「高频面试题」Redis的五种基础数据类型是哪些?

    字符串(String) 二进制安全字符串。 列表(List) 根据插入顺序排序的字符串元素列表,基于链表实现。 R...

  • 12月24号内容

    主要内容 处理字符串 新字头排序 impot java.util.Arrays; String 名称 句型 new...

  • redis 学习总结1

    redis的数据结构 1.STRING redis的STRING十分神奇,它不单指字符串,还可以代表数值型数据,可...

  • 有序字符串数组的查找

    有个排序后的字符串数组,其中有一些空的字符串, 编写一个方法,找出给定字符串的索引。 形如:String[] ar...

  • All for PAT秋考 | 1136 - 1139

    涉及知识1136 大整数加法(字符串,这次用了c++ string)1137 筛选分类排序,取整注意+0.5113...

  • JAVA(10)字符串处理

    字符串处理 定义字符串 使用String; String str = "hello"; String str; ...

  • 2018-10-2

    字符串 String类 一.声明字符串String a;二.创建字符串 引用字符串常量String a="我是谁"...

网友评论

      本文标题:神奇的String字符串排序

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