zoukankan      html  css  js  c++  java
  • (算法)字符串的组合

    题目:

    输入一个字符串,输出该字符串的字符的所有组合,比如输入字符串:abc,输出a、b、c、ab、ac、bc、abc。

    思路:

    回溯法

    建立一个数组记录字符串中的字符出现与否,如字符串abc,int A[3],A={1,0,1},就代表字符ac。

    代码:

    #include <iostream>
    #include <vector>
    
    using namespace std;
    
    void comb(char* str,vector<int> &result,int index,int n){
        if(index==n){
            for(int i=0;i<n;i++){
                if(result[i]!=0)
                    cout<<str[i];
            }
            cout<<endl;
            return;
        }
        result[index]=0;
        comb(str,result,index+1,n);
        result[index]=1;
        comb(str,result,index+1,n);
    }
    
    void combination(char* str,int n){
        vector<int> result(n,0);
        comb(str,result,0,n);
    }
    
    int main()
    {
        char str[4]="abc";
        combination(str,3);
        return 0;
    }
  • 相关阅读:
    Scrum冲刺第一篇
    项目冲刺
    需求改进&系统设计
    需求规格说明书
    团队作业第五周-测试和发布
    冲刺集合贴
    冲刺第6天
    冲刺第7天
    冲刺第5天
    冲刺第四天
  • 原文地址:https://www.cnblogs.com/AndyJee/p/4673586.html
Copyright © 2011-2022 走看看