鉴于/t/779528 想不明白,想再咨询一个问题

2021-05-29 13:18:01 +08:00
 ahaxzh

原始需求: /t/779528

鉴于这个问题我想不太明白,我想咨询另一个算法问题,算是曲线解决吧!

问题描述:

1 、给定数列 An[a1,a2......an] ,an 为不重复数据,数列里数量 n 不固定,且每个数字都有一个权重 s 。 给定数字 X,X 大于 An 里的任意数字。

2 、求: 所有给定数列里 的数字 相加 组合 小于等于 X 且 大于 X * 90% 的 所有结果,按照 权重合计 排序输出。

3 、这个问题是我自己想的,我其实是想打一张表,表里涵盖所有情况

4 、值得注意的是 an 可以重复, 比如 an + an + ..... 也是允许的

Eg:

An[1,2,3,4,5,6,7,8,9,10]

Sn[1,2,3,4,5,6,7,8,9,10]

X = 100

那权重最低的情况应该是 1 * 100,权重第二低的是 1* 98 + 2, 第三的是 1* 97 + 2 。

奈何 不管是 36 ! 还是 2^36 时空复杂度都太高了。

904 次点击
所在节点    算法
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/780008

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX