skptch 2018-04-16 02:39 采纳率: 0%
浏览 1435
已结题

在一个无序的数组中,实现一个或者多个元素相加小于给定的目标数,所有的可能。

七个用户确定的数,a,b,c,d,e,f,g,任选其中的m(1<=m<=7)个数,不重复选,求和sum,使sum<n,n是用户确定的一个数。
求所有可能的组合。

用户输入a,b,c,d,e,f,g和n,
程序输出多有可能的组合

  • 写回答

3条回答 默认 最新

  • qq_19937159 2018-04-16 02:54
    关注

    可以换一个角度考虑,给定的数如果是M,那么针对数组中一个数字N,我们只需要查找一下数

    组中是否含有M-N就可以了,这样就转换为数组查找问题了,然后可以利用空间换时间来搞

    定,搞一个hash表,然后把每一个都映射到hash表中去,然后查找的时候就需要O(1)就可以
    了,只不过空间复杂度达到O(N)

    评论

报告相同问题?

悬赏问题

  • ¥30 vmware exsi重置后的密码
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真
  • ¥15 mars2d在vue3中的引入问题
  • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面