字符串全排列问题(递归解决有重复字符问题)
来源:互联网 发布:巅峰软件下载 编辑:程序博客网 时间:2024/06/10 07:31
前一篇博客是一个常规字符串问题的解决,如果字符串中有重复子串,如1223,如果还是用上篇博客的解决方法,就会造成重复,这里给出“去重”解法。
以空间换取时间的算法:
#include <stdio.h>void swap(char array[],int src,int dst){ char temp = array[src]; array[src] = array[dst]; array[dst] = temp;}void Permutation(char array[],int from , int to ){// printf("start..from = %d,to = %d \n",from,to); int i=0; int hash[256] = {0}; if(from == to) { for(i=0;i<=to;i++) { printf("%c",array[i]); } printf("\n"); } for(i=from;i<=to;i++) { if(hash[array[i]] == 1) continue; hash[array[i]] = 1; swap(array,i,from); Permutation(array,from+1,to); swap(array,i,from); }}int main(){ char str[] = "1223"; int len = sizeof(str)/sizeof(char); Permutation(str,0,len-2);}
阅读全文
0 0
- 字符串全排列问题(递归解决有重复字符问题)
- 递归解决输出一个字符串的全排列问题(缺陷:没有考虑字符串中字符重复的问题)
- 递归解决全排列(有重复字符)
- 字符串全排列问题(递归回溯)
- 字符串全排列问题(递归算法)
- 字符串的全排列问题(一)——无重复出现字符的排列
- 递归解决全排列问题
- 递归解决全排列问题
- 含重复字符的字符串的全排列问题(Java)
- 8594 有重复元素的排列问题(递归、字符串匹配)
- 递归求解字符数组全排列问题
- 有重复元素的全排列问题
- 有重复元素的全排列问题
- 有重复元素的全排列问题
- 有重复元素的全排列问题
- 递归分治解决全排列问题
- java使用递归解决全排列问题
- 利用递归解决全排列问题
- Python学习:新建数组的方法
- springMVC @RestController和@Controller的区别
- 如何在Anaconda中实现多版本python Spyder共存
- EL表达式总结和使用
- Dell服务器远程卡java连接失败
- 字符串全排列问题(递归解决有重复字符问题)
- Rotate List
- 将1-100的奇数存入数组
- Java中的String详解
- Android Gradle 构建环境
- iOS动态性(一) 一行代码实现iOS序列化与反序列化(runtime)
- web本地存储--localStorage和sessionStorage
- Linux 系统缓存机制
- 【BZOJ】 1610 [Usaco2008 Feb]Line连线游戏 计算几何