zoukankan      html  css  js  c++  java
  • 字符串的全排列与组合

    一、字符串的排列

         问题描写叙述:给出一个字符串。请设计一个函数输出全部可能的排列。如abc,可能的排列顺序有abc、acb、bac、bca、cba、cab

         问题分析:要对长度为n的序列进行排序,能够转化为固定第一个的值,再对剩余的n-1个进行排序的问题。能够用递归实现。因为第一个的值能够是不论什么一个。可用第一个值与其它值依次交换实现。如序列abc能够转化为例如以下三种情况:

         (1)第一个固定为a,对bc进行排序

         (2)第一个固定为b,对ac进行排序

         (3)第一个固定为c。对ab进行排序

        代码


    二、字符串的组合

       问题描写叙述:给出一个字符串,请输出所以可能的组合。如abc的组合有a、b、c、ab、bc、ac、abc


       问题分析:如果长度n-1的字符串的组合已经知道,那么长度n的字符串的组合有例如以下情况:

        (1)、保持原有组合集不变

        (2)、原有组合集中每一个组合后面加入第n个字符,并加入该组合

        (3)、加入一个由第n个字符组成的组合

       额。

    。语文水平实在是不咋的,以下举个样例来说明下,如ab原有组合是a、b、ab,那么abc的组合有例如以下情况

          (1)原有不变:a、b、ab

          (2)每一个组合加入第n个字符,在这里都加入了c:ac、bc、abc

          (3)第n个字符组成的集合:c

       所以终于abc的组合有(1)(2)(3)三种情况加起来:a、b、ab、ac、bc、abc、c

    代码:


  • 相关阅读:
    css js 解除网页无法选择进而复制的限制,bd文库无法复制
    Git命令简记
    DDD基本概念-未完成
    多线程隙-IO模型(BIO、NIO、AIO)
    RabbitMQ笔记-保证消息队列高可用
    关于fiddler手机抓包
    spring控制反转是谁在何时何地反转给谁?依赖注入??
    Cookie、Session、Token的区别
    详解Redis中两种持久化机制RDB和AOF
    Java中线程池的抛出策略、阻塞队列、内存溢出
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/6741957.html
Copyright © 2011-2022 走看看