具有一些条件的字符串排列

时间:2010-12-30 17:11:29

标签: java permutation conditional-statements

我需要一个Java算法来进行字符串排列,但有几个条件:

  1. 每个字只需一次
  2. 这个词必须以某个字符串
  3. 结束
  4. 只应显示具有一定长度的单词。
  5. 每个字母都可以是大写字母。
  6. 例如:

    String perm = "abcdefgh";
    

    字长应为7或8,并且应始终以"g"或“gh”结尾。

    好:

    abcdefgh
    ABCdefgh 
    ABCDEFGH
    acbdefgh 
    abdcefg
    abcdefg
    

    不行:

    abc
    abcdeghf
    

2 个答案:

答案 0 :(得分:1)

我认为应该有一个名为“大厅监视器”的徽章,用于告诉学生自己做作业。 :)

答案 1 :(得分:1)

我是这样做的:

  1. 从烫发字符串中创建可用字符数组。
  2. 创建后缀字符串。例如。 'g'或'gh'。
  3. 从字符数组中删除后缀的每个字母。
  4. 目标字符串=“”
  5. 对于i = 0到MAX_LENGTH: {
  6. 将数组中的随机字母添加到目标字符串
  7. 从数组中删除该字母
  8. }
  9. 将后缀添加到目标字符串。
  10. 多次运行以获得更多排列。

相关问题