题解 | #两种排序方法#

两种排序方法

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:满帮笔试都不给我发 似乎被卡本了
投递满帮集团等公司10个岗位
点赞 评论 收藏
分享
面试摇了我吧:啊哈哈面试提前五个小时发,点击不能参加就是放弃
点赞 评论 收藏
分享
服从性笔试吗,发这么多笔,现在还在发。
蟑螂恶霸zZ:傻 x 公司,发两次笔试,两次部门匹配挂,
投递金山WPS等公司10个岗位 >
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务