求一个算法

2020-10-05 17:35:13 +08:00
 QBugHunter
假设数字 0-10000,然后有 N 个数据列表,其中 N 为 2-100

每个列表是个 map,键为 int(既 0 - 10000 中的部分或全部),值为 N,既该值位于第几个列表,也就是说一个个数据列表里的值都是相同的,比如第 12 个数据列表,包含了两个值 2 和 144,那他的结构应该是
{(2,12),(144,12)}

然后生产一个列表,这个列表为从 0-10000,每个值都是从列表组里选择,优先选择最前面的

举例 159 这个值只有第 3 个和第 6 个列表里有,那就选择第 3 个列表( 159,3 ),而假设一个值,比如 1289,全部数据列表中都没有,则填写( 1289,-1 )

能否提供一段 c 或 java 或 py 代码,伪代码也行,来演示最优算法(最优定义为用 GCC 编译器编译后在 win10 上运行时间最短)
639 次点击
所在节点    问与答
1 条回复
kangsheng9527
2020-10-05 21:33:49 +08:00
太抽象,真实场景解决问题的方法很多。。。有钱肯定能解决
github.com/a7a2/cp33/blob/end/services/lotto/getWinAmount.go
这些彩票结算算法,比你的复杂多了,以前写的。。。

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

https://ex.noerr.eu.org/t/712643

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

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

© 2021 V2EX