实现代码:

void Conbination(char* pData, char* pDestData, int begin, int end, int curIdx, int remainCount)
{if (0 == remainCount) // 满足目标{std::cout << pDestData << std::endl;return;}if (curIdx > end) // 已经没有可以选择的数据return;for (int idx = begin; idx <= end; ++idx){pDestData[curIdx] = pData[idx]; // 将当前位置赋予Conbination(pData, pDestData, idx + 1, end, curIdx + 1, remainCount - 1); // 注意这里的idx + 1}
}void Conbination(char* pData, int size, int destCount)
{char* pDestData = new char[destCount + 1]; // 多分配一个字符用来表示存放字符串结束符'\0'memset(pDestData, '\0', destCount + 1);Conbination(pData, pDestData, 0, size - 1, 0, destCount);
}void Conbination(char* pData, int size)
{if (nullptr == pData || size < 1) return;for (int idx = 1; idx <= size; ++idx) Conbination(pData, size, idx);
}

28. (附加)字符串的组合(C++版本)相关推荐

  1. 程序员面试题精选100题(59)-字符串的组合[算法]

    题目:输入一个字符串,输出该字符串中字符的所有组合.举个例子,如果输入abc,它的组合有a.b.c.ab.ac.bc.abc. 分析:在本系列博客的第28题<字符串的排列>中,我们详细讨论 ...

  2. python 字符串变量 组合列表_Python智慧编程——第3讲 字符串与列表

    第 3 课 Python 的字符串与列表 前面的课程中,我们通过Mu软件编程工具让Python做了一些基本的运算,并且学习了变量的概念以及使用.在这一课程里,我们会继续学习Python编程中的另一些内 ...

  3. 检索数据_20_按照字符串数字组合的排序

    按照字符串数字组合的排序 需求描述 需求:假设我们从雇员表emp里创建个视图,这里仅有一个字段,该字段叫data由员工名称和部门号拼接而成,我们想实现一个查询可以按照原来的部门编号逆序排序筛选出数据. ...

  4. Java黑皮书课后题第7章:*7.28(数学:组合)编写一个程序,提示用户输入10个整数,然后显示从这10个数中选出两个数的所有组合

    7.28(数学:组合) 题目 题目描述 破题 代码 运行示例 题目 题目描述 *7.28(数学:组合)编写一个程序,提示用户输入10个整数,然后显示从这10个数中选出两个数的所有组合 破题 声明一个长 ...

  5. [剑指offer]面试题28:字符串的排列

    面试题28:字符串的排列 题目:输入一个字符串,打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a.b.c所能排列出来的所有字符串abc.acb.bac.bca.cab和cba. ...

  6. 剑指offer——面试题28:字符串的排列

    剑指offer--面试题28:字符串的排列 Solution1: 2018年9月2日重做 典型的DFS套路,LeetCode 46 && 47 [46]https://blog.csd ...

  7. python字符串排列组合子集_python编程题:字符串的(所有可能的)排列组合

    前言 在此研究: 1)给定一个字符串,如何对其中字母进行排列组合: 2)进一步了解Python递归. 题目内容 在指定位置编写代码,完成函数,根据给定的字符串,给出组成该字符串的字符的所有排列构成的字 ...

  8. Python登录注册页面(用字符串,组合数据类型,程序三种基本结构)

    1.代码 代码如下: import re #导入re包while True:print('---------------欢迎来到图书馆借阅系统----------------')print('---- ...

  9. 第3周 字符串分段组合

    字符串分段组合 描述 获得输入的一个字符串s,以字符减号(-)分割s,将其中首尾两段用加号(+)组合后输出.‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬ ...

  10. java牛客排序算法题_《剑指offer》面试题28:字符串的排列(牛客网版本) java...

    输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输入一个字符 ...

最新文章

  1. 《独辟蹊径品内核:Linux内核源代码导读(china-pub首发)》的前言
  2. 山东大学计算机学院预推免,山东大学计算机科学与技术学院(专业学位)计算机技术保研...
  3. 【WPF】鼠标拖拽功能DragOver和Drop
  4. 2020年应届生找工作难?Python爬虫解析疫情之下用人市场中的机遇与挑战
  5. 简单的JavaScript互斥锁
  6. 游戏开发需要具备哪些技术_短视频 SDK 开发 (一) 开发一款短视频 SDK 需要具备哪些知识?...
  7. 64位Ubuntu kylin 16.04使用fastboot下载内核到tiny4412开发板
  8. 知识点整理-mysql怎么查看优化器优化后的sql
  9. python---单元测试
  10. 使用前端node.js 提供的服务器live-server
  11. 如何批量生成Code 128条形码
  12. 腾讯云服务器价格明细表(CPU内存/带宽/磁盘)
  13. uniapp设置整个页面背景颜色渐变,设置单个页面背景颜色
  14. 运维常说的 5个9、4个9、3个9 的可靠性,到底是什么鬼?
  15. 《计算机应用基础》第04章在线测试,《计算机应用基础》在线测试.doc
  16. 2018年互联网生死场,京东网易ofo知乎等公司裁员,没有一丝防备
  17. 使用Amazon Elasticache构建你的专属内存缓存服务集群
  18. Android自定义SeekBar,带开始值结束值和Thumb上方滑动的Text
  19. 定时清理docker image
  20. 如何安装husky_GitHook 工具 —— husky介绍及使用

热门文章

  1. 大家好,我就是那个提【换手机壳颜色变app主题】需求的“产品经理”
  2. 如果你的年龄在35~55岁之间,一定要看这张图
  3. 2.Shell 编程从入门到精通 --- Shell编程基础
  4. 10.Linux/Unix 系统编程手册(上) -- 时间
  5. 28.TCP/IP 详解卷1 --- SMTP:简单邮件传输协议
  6. 17.Class Preferences
  7. [2019杭电多校第三场][hdu6609]Find the answer(线段树)
  8. postgreSQL 自动递增序号
  9. Bootstrap框架常用总结
  10. 阿里云CentOS7.3配置Java Web应用和Tomcat步骤