zoukankan      html  css  js  c++  java
  • 用最快的速度求子集合列表

    题目:求出字符串“abcd...”的所有非空子集

    内容:我们都学习过离散数学,(A,B,C)的非空子集包含[(A), (B), (C), (A,B), (A,C), (B,C), (A,B,C)]。可是对于不定长集合的非空子集,要全部列出来,我们用程序该怎么实现呢?

    提示:我相信,大家有很多思路去解决这个问题,但最优解是什么呢?

               例如,可以用完全树来解决这个问题。而我的思路是通过二进制思想,比如,对于长度为3的字符串,它的非空子集有2^3-1个,用二进制表达如下:

                          001      -->       1         -->           c

                          010      -->       2         -->          b

                          011      -->       3         -->           bc

                          100      -->       4         -->         a

                          101      -->       5         -->         a  c

                          110      -->       6         -->         ab

                          111      -->       7         -->         abc

    大家不妨也发挥你的聪明才智,创造出更优的解决方案。

                                                               ———条条大路通罗马,不要被别人的思想所局限

     
  • 相关阅读:
    GCD之各种派发
    Effective Objective-C 笔记之熟悉OC
    正则表达式之正向预查和负向预查
    vue的实例属性$refs
    vue的实例属性$options
    vue的实例属性$data
    vue的实例属性$el
    vue强制更新$forceUpdate()
    vue的extends的使用
    vue的mixins的使用
  • 原文地址:https://www.cnblogs.com/cheng2839/p/12589364.html
Copyright © 2011-2022 走看看