Codingame平台“CHUCK NORRIS”的实现

我的用Java写的有问题 有待改善,然后百度发现用python写的

     message = input()
     sstr=[bin(ord(c)).replace('0b', '') for c in message]
     for i in range(len(sstr)):
         if sstr[i] != 7:
             sstr[i] = '0'*(7-len(sstr[i]))+sstr[i]
     message2=''.join(sstr)
     code = ''
     n = 1;m=1
     for i in range(len(message2)):
         a = message2[i]
         if i < (len(message2) - 1):
             if a == '1':
                 if a == message2[i + 1]:
                     n += 1
                 else:
                     code += '0' + ' ' + '0' * n + ' '
                     n = 1
             else:
                 if a == message2[i + 1]:
                     m += 1
                 else:
                     code += '00' + ' ' + '0' * m + ' '
                     m = 1
         else:
             if a == '1':
                 if a == message2[i - 1]:  
                     code += '0' + ' ' + '0' * n
                 else:
                     code += '0' + ' ' + '0'
             else:
                 if a == message2[i - 1]:
                     code += '00' + ' ' + '0' * m
                 else:
                     code += '00' + ' ' + '0'
     print(code)

看起来很复杂对不对,我的Java写的也是如此,当我提交发现 Browse the
best Solution for this puzzle链接时 点进去 看了第一个 That’s very short,i
say what f***? in my mind,这也太强了吧

import sys
import math
msg = input()
out=""
bn=""
b=""
for c in msg:
    bn += bin(ord(c))[2:].zfill(7)
for c in bn:
    if c == "1" != b:
        out += " 0 "
        b="1"
    elif c == "0" != b:
        out += " 00 "
        b="0"
    out += "0"
print(out.strip())

难道这就是大佬与我这种 code copier之间的差距吗?
虽然用了内置函数strip 去除空白,上次那个题也是传值赋值玩的6 得到最小接近0的数,所以从开始思路就想的不一样,还是的多思思!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值