题解 | #两种排序方法#

两种排序方法

https://www.nowcoder.com/practice/839f681bf36c486fbcc5fcb977ffe432

两种排序方法

两种排序方法

/*
2022年09月20日 17:41:01
设置两个标记记录,当前序列排序方法情况
分别遍历去判断排序方法,如果同时遍历可能会互相影响
一旦判断不满足,要break出来,不需要再判断了。
*/

#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main() {
    int n;
    cin >> n;
    vector<string> v(n);
    for (int i = 0; i < n; ++i)
        cin >> v[i];
    bool strsort = true, lensort = true; // 标记排序情况 默认是满足的
    for (int i = 1; i < n; ++i) { // 避免越界,i从1开始访问
        if (v[i - 1] > v[i]) {
            strsort = false;
            break;
        }
    }
    for (int i = 1; i < n; ++i) { // 避免越界,i从1开始访问
        if (v[i - 1].size() > v[i].size()) {
            lensort = false;
            break;
        }
    }
    if (strsort == true && lensort == false)
        cout << "lexicographically" << endl;
    else if (strsort == false && lensort == true)
        cout << "lengths" << endl;
    else if (strsort && lensort)
        cout << "both" << endl;
    else
        cout << "none" << endl;

    return 0;
}
全部评论

相关推荐

我的offer呢😡:这不才9月吗,26到明年毕业前能一直找啊,能拿下提前批,转正的,offer打牌的都是有两把刷子的,为什么非要跟他们比。如果别人是9本硕+金牌+好几段大厂实习呢?如果别人是双非通天代呢?如果别人是速通哥呢?,做好自己就行了,我们做不到他们一样提前杀死比赛,但晚点到终点也没啥关系吧
双非应该如何逆袭?
点赞 评论 收藏
分享
09-23 14:45
贵州大学 财务
勇敢求职牛牛:怎么9.2佬人手一个中信证券实习
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务