python代码如何转java_将简单的Python代码转换为Java方法

我找到了一个代码片段,它在自动锦标赛支架生成器中提供了我想要的内容:AN ARRAY.

有一个问题.我不读也不写python,但我在Java中精通(足够).

我不知道这是不是很糟糕的堆栈溢出礼仪,但我要求有人协助将此代码转换为Java方法.

def CBseed( n ):

#returns list of n in standard tournament seed order

#Note that n need not be a power of 2 - 'byes' are returned as zero

ol = [1]

for i in range( int(ceil( log(n) / log(2) ) )):

l = 2*len(ol) + 1

ol = [e if e <= n else 0 for s in [[el, l-el] for el in ol] for e in s]

return ol

哪个回报不错

2 [1, 2] #seed 1 plays seed 2

3 [1, 0, 2, 3] #seed 1 gets a 'by' game and seed 2 plays seed 3

4 [1, 4, 2, 3] #ETC.

5 [1, 0, 4, 5, 2, 0, 3, 0]

6 [1, 0, 4, 5, 2, 0, 3, 6]

7 [1, 0, 4, 5, 2, 7, 3, 6]

8 [1, 8, 4, 5, 2, 7, 3, 6]

#and so on and so forth till this

31 [1, 0, 16, 17, 8, 25, 9, 24, 4, 29, 13, 20, 5, 28, 12, 21, 2, 31, 15, 18, 7, 26, 10, 23, 3, 30, 14, 19, 6, 27, 11, 22]

32 [1, 32, 16, 17, 8, 25, 9, 24, 4, 29, 13, 20, 5, 28, 12, 21, 2, 31, 15, 18, 7, 26, 10, 23, 3, 30, 14, 19, 6, 27, 11, 22]

所以数组的增量是两个,每两个是一个游戏.

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值