牛客网---两种排序方法
发布日期:2021-05-10 10:38:56 浏览次数:21 分类:原创文章

本文共 1163 字,大约阅读时间需要 3 分钟。

牛客网链接: .

在这里插入图片描述
解题思路:
string的operator>=运算符重载来按ascii比较字符串利用string的size来比较字符串的长度

  1. array[i-1] < array[i] 满足字典序排序
  2. array[i-1].size() < array[i].size() 满足长度排序
  3. lensort dirsort
#include<iostream>#include<string>#include<vector>using namespace std;int main(){       int n;    while(cin>>n)    {           vector<string> v;        v.resize(n);        for(auto& str:v)        {               cin>>str;        }                //设定长度排序和字典排序都是真        bool lensort = true,dirsort = true;        for(int i = 1;i<v.size();++i)        {               if(v[i-1].size() > v[i].size())            {                   lensort = false;                break;            }        }                //        //string的本身是支持字典排序的        for(int i = 1;i<v.size();++i)        {               if(v[i-1] > v[i])            {                   dirsort = false;                break;            }        }                if(lensort && dirsort)        {               cout << "both"<<endl;        }else if(lensort){               cout<<"lengths"<<endl;        }else if(dirsort){               cout << "lexicographically"<<endl;        }else{               cout<<"none"<<endl;        }    }    return 0;}
上一篇:程序员面试宝典---求最小公倍数
下一篇:剑指offer---连续最大和

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年04月28日 00时04分11秒