c_cpp 按字典顺序排列的最小子串,以元音开头,以辅音结束

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 按字典顺序排列的最小子串,以元音开头,以辅音结束相关的知识,希望对你有一定的参考价值。

#include <bits/stdc++.h>
using namespace std;

string func (string s) {
    char vowel= 'z';
    int n=s.length();
    for (int i=0;i<n;i++)
        if ((s[i]<vowel) && (s[i]== 'a'||s[i]== 'i'||s[i]== 'e'||s[i]== 'o'||s[i]== 'u'))
            vowel= s[i];

    string res= "z";
    for (int i=0;i<n;i++) {
        if (s[i]== vowel) {
            string temp;
            temp+= s[i];
            for (int j=i+1;j<n;j++) {
                if (s[j]== 'a'||s[j]== 'i'||s[j]== 'e'||s[j]== 'o'||s[j]== 'u')
                    temp+= s[j];
                else {
                    temp+= s[j];
                    break;
                }
            }
            if (res>temp)
                res= temp;
        }
    }
    return res;
}

int main() {
    string s;
    getline(cin, s);

    cout<< func(s);
}

以上是关于c_cpp 按字典顺序排列的最小子串,以元音开头,以辅音结束的主要内容,如果未能解决你的问题,请参考以下文章

字典序法生成全排列算法图

LeetCode——不同字符的最小子序列/去除重复字母

枚举排列

1403. 非递增顺序的最小子序列

算法题-第K个小子串

c_cpp 在链表中排列辅音和元音节点