zoukankan      html  css  js  c++  java
  • 算法题:数字组合

    给出一个候选数字的集合 C 和目标数字 T,写一个函数找到 C 中所有的组合,使找出的数字和为 T。C 中的数字可以无限制重复被选取。

    注意事项:

    1、所有的数字(包括目标数字)均为正整数。

    2、元素组合(a1, a2, … , ak)必须是非降序(ie, a1 ≤  a2  ≤ … ≤  ak)。

    3、解集不能包含重复的组合。 

    格式:

    输入行每一行输入数组 C 和一个目标数字 T,最后输出所有满足条件的组合。

    样例输入

    C = [ 2,3,6,7 ]

    T = 7

     

    样例输出

    [ [ 7 ],[ 2,2,3 ] ]

    先将C从小到大排序,然后创建一个栈,然后向栈中由小到大填入数字,每填一次就将栈中的数字的和与目标T进行比较,如果和大于T,就抛出然后反向由大到小填入数字将和进行比较,直到有一个数X使得栈中的和等于T。 然后将X作为下一个T进行计算。 先记录一下想法。

  • 相关阅读:
    2014年5月16日
    2014年4月8日
    Qt 小技巧之“To-Do 事项”
    koa中间件实现分析
    关于计算透视投影的四条边的方法,留作备忘
    关于向量
    关于ngui协同
    关于NGUI分辨率
    动态修改NGUI UI2DSprite
    动态设置viewport的宽高
  • 原文地址:https://www.cnblogs.com/zhangzhuozheng/p/8074979.html
Copyright © 2011-2022 走看看