- 主题:今天设计了一个算法挺高兴
问题是把一个list尽可能平均地分成 n 份,返回 List of List。
关键是用了一个尾递归实现的。
--
FROM 222.131.243.*
发帖不发代码库,........
【 在 RaZRo 的大作中提到: 】
: 问题是把一个list尽可能平均地分成 n 份,返回 List of List。
: 关键是用了一个尾递归实现的。
--
FROM 183.95.135.*
具体点在哪里
--
FROM 27.223.107.*
一开始觉得挺简单的,
逐步take(len/n)就好了,但是len=8,n=5,会得到1,1,1,1,4,
如果逐步take(len/n+1) , 会得到2,2,2,2,0。
理想的结果是2,2,2,1,1。
【 在 Relief27 的大作中提到: 】
: 具体点在哪里
--
FROM 222.131.243.*
嘿嘿,再嘚瑟一会。
我原本的语言太小众。刚刚用haskell重写了一下。
【 在 a0123456789q 的大作中提到: 】
: 发帖不发代码库,........
--
FROM 222.131.243.*
可能你原来的问题类型(背包问题)不容易,但这层楼举的例子(总数加起来均分)实在不需要高明算法,直接确定性能算出来。
我Assume,原本问题 =(桶不一样大的)N桶水分给5个人,最小单位是桶,怎么均分? 这层楼问题 = N桶水加起来平均分成8碗,一共5个人,每人几碗
【 在 RaZRo 的大作中提到: 】
: 一开始觉得挺简单的,
: 逐步take(len/n)就好了,但是len=8,n=5,会得到1,1,1,1,4,
: 如果逐步take(len/n+1) , 会得到2,2,2,2,0。
: ...................
--
FROM 1.202.157.*
本来就是个很简单的问题。
group :: Int -> [a] ->[[a]]
group n =
let helper l r list = case list of
[] -> l ++ r
h: t -> case l of
[] -> helper r l list
lh: lt -> helper lt ((h: lh): r) t
in helper (replicate n []) []
【 在 AlphaO 的大作中提到: 】
: 可能你原来的问题类型(背包问题)不容易,但这层楼举的例子(总数加起来均分)实在不需要高明算法,直接确定性能算出来。
: 我Assume,原本问题 =(桶不一样大的)N桶水分给5个人,最小单位是桶,怎么均分? 这层楼问题 = N桶水加起来平均分成8碗,一共5个人,每人几碗
:
--
修改:RaZRo FROM 222.131.243.*
FROM 222.131.243.*
我以前完美解决的一个算法问题,你可以看看如何解
n个站点,设置接入用户比例为n1:n2:n3....
现在有大量用户接入,根据比例分配一个站点,但要保证用户的分配规则完美适符合这个比例。
开始用随机数,客户不同意,有误差,客户要求必须是最好的匹配。
【 在 RaZRo 的大作中提到: 】
: 一开始觉得挺简单的,
: 逐步take(len/n)就好了,但是len=8,n=5,会得到1,1,1,1,4,
: 如果逐步take(len/n+1) , 会得到2,2,2,2,0。
: ...................
--来自微微水木3.5.14
--
FROM 222.64.95.*
令牌桶?
【 在 foliver 的大作中提到: 】
: 我以前完美解决的一个算法问题,你可以看看如何解
: n个站点,设置接入用户比例为n1:n2:n3....
: 现在有大量用户接入,根据比例分配一个站点,但要保证用户的分配规则完美适符合这
: 个比例。
: ...................
--
FROM 120.229.207.*
问题再详细一点?需要考虑单个用户服务时长吗?要考虑用户进入的时间分布吗?
就简单假设用户单位时间来一个,服务固定时长?
【 在 foliver 的大作中提到: 】
: 我以前完美解决的一个算法问题,你可以看看如何解n个站点,设置接入用户比例为n1:n2:n3....现在有大量用户接入,根 ...
--
FROM 223.104.3.*