摘要: 前例中,我们求了一个字符串的排列组合,其中再细分出一种情况,长度与原字符串长度相同的排列组合。这里,我们只求组合,不要求“排列”。从数学的解集上看,本例的解集是上一例的子集。思路有所不同。具体的方法是,先自己求简单的,比如abcde中长度为2的子串组合,然后用笔记录下自己输出的过程。发现如下:1、问题可以化解为求某个字符串长度的K(K<=n)的子串组合,当K从1到n时,解集的集合即为所求2、求某个字符串长度的K(K<=n)的子串组合,模拟人脑的思路是:比如求abcde中长度为3的子串组合: 有三大类,分别是a,b,c开头,而且c开头正好是cde一种组合,d开头的没有啦。 然后a开头 阅读全文
posted @ 2011-12-04 17:37 hello_caesar 阅读(991) 评论(0) 推荐(0)
摘要: 【原题】比如,输入abc,输出abc、acd、bac、bca、cab、cba。主要的思路:1、递归,每个字符在每个位置都出现(暂时没有处理重复的字符)2、在最后的字符组合长度为字符串长度时输出 1 package com.persia.test; 2 3 import java.util.Scanner; 4 5 public class StringArrangement { 6 7 private int len; 8 9 private char[] getRest(char[] arr,int i) {10 char[] rs=new char[... 阅读全文
posted @ 2011-12-02 23:18 hello_caesar 阅读(1920) 评论(0) 推荐(0)