• 字符串组合


    题目描述

    输入一个字符串,输出该字符串中相邻字符的所有组合。
    举个例子,如果输入abc,它的组合有a、b、c、ab、bc、abc。(注意:输出的组合需要去重)(40分)

    输入描述:

    一个字符串

    输出描述:

    一行,每个组合以空格分隔,相同长度的组合需要以字典序排序,且去重。
    示例1

    输入

    复制
    bac

    输出

    复制
    a b c ac ba bac

    解题:利用set进行排序和去重(现在还有点问题),之后再修改吧,,排序没有按要求
    #include "iostream"
    #include "set"
    #include "string"
    using namespace std;
    
    
    int main()
    {
        set<string> m;
        string str;
        int num=0;
        getline(cin,str);
    
        while(1){
        num++;
        if(num==str.size())    break;    
        for(int i=0;i<str.size();i++){
        
        for(int j=0;j<str.size();j++){
        if(j-i==num)    m.insert(str.substr(i,num));// 
        else if(i==str.size()-num) m.insert(str.substr(i,num));//临界的情况 
        else if(j-i>num) break;    
        }    
            
            
        }
        }
        m.insert(str);
        set<string>::iterator it=m.begin();
        while(it!=m.end()){
            cout<<*it<<" ";
            it++;
        }
        
        return 0;
    }

      运行结果截图:

    不一样的烟火
  • 相关阅读:
    第五章
    第四章
    第三章
    第二章
    第一章
    configparser-xml-subprocess-shutil
    sys,os,模块-正则表达式
    %----format 格式化字符串---- 生成器---- 迭代器
    python 内置函数
    python 内置函数!
  • 原文地址:https://www.cnblogs.com/cstdio1/p/11131205.html
Copyright © 2020-2023  润新知