c_cpp 最小的受限回文

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 最小的受限回文相关的知识,希望对你有一定的参考价值。

//https://lh6.googleusercontent.com/hakVMv-9iun3Lyce1kZaC51CVB69RAK7Xr0CSz39kOHhfvkzYZZOjfaOo6CW9c5iJKX7B8lBp8Eb_826RwtQCov-_RdKp6iKN-lS4VfJY0S-F_qrnI8ZB69IMYDAsRZNKcZk4875
#include <bits/stdc++.h>
using namespace std;

string func(string s) {
    map <char, int> m;
    int n=s.length();
    for (int i=0;i<n;i++)
        m[s[i]]++;

    string str= "";
    char mini= 'z';
    map <char, int> ::iterator i;

    for (i= m.begin(); i!= m.end(); ++i)
        cout<< i->first << " "<< i->second<< "\n";

    for (i= m.begin(); i!= m.end(); ++i) {
        if (i->second == 1)
            mini= min(i->first, mini);

        else {
            while (i->second > 1) {
                str+= i->first;
                i->second-= 2;
            }
            if (i->second == 1)
                mini= min(i->first, mini);
        }
    }
    s= str+mini;
    reverse(str.begin(), str.end());
    s+= str;
    return s;
}

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

    cout<<func(s);
}

以上是关于c_cpp 最小的受限回文的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 234.回文链接清单

c_cpp 9.回文数

c_cpp 回文

c_cpp 回文

c_cpp UVa 11404 - 回文序列

c_cpp 回文子序列 - GeeksforGeeks