题解 | #密码截取#

密码截取

http://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1

coding=utf-8

import re def get_max_dc_str(in_str): max_l = len(in_str) if max_l == 1: return 1 cut_len = max_l while cut_len > 1: for start in range(0, max_l - cut_len + 1): cut_str = in_str[start: start + cut_len] mid = cut_len / 2 if cut_len % 2 == 0: b_str = cut_str[0:mid:1] a_str = cut_str[-1:-1-mid:-1] else: # 列表会运行超时,改用切片 b_str = cut_str[0:mid+1:1] a_str = cut_str[-1:-1-mid-1:-1]

if cut_len == 7:

print 'cut_str: %s, b_str: %s, a_str: %s' % (cut_str, b_str, a_str)

        if b_str == a_str:

print cut_str

            return cut_len
    cut_len -= 1
else:
    return 1

import time while True: try: # 对所有的字符进行转大写或转小写
in_str = raw_input().upper()

    # 根据所有的非字符的进行分割
    dc_lst = [i for i in re.findall('[A-Z]*', in_str) if i != '']

    # 从最长到最短的方式查找对称字符串。从左-中间 = 从右-中间
    max_cut = 0
    for dc in dc_lst:
        res = get_max_dc_str(dc)

time4 = time.time()

print 'get_max_dc_str: ', time4 - time3

time3 = time4

print 'res: ', res

        if res > max_cut:
            max_cut = res

print max_lst

    print max_cut
except BaseException as e:

print e

    break
全部评论

相关推荐

06-10 23:36
已编辑
首都经济贸易大学 C++
点赞 评论 收藏
分享
Rena1ssanc...:对的,要是面评没太烂,勤更新简历等捞就行了,腾讯可以无限复活
点赞 评论 收藏
分享
06-26 18:30
门头沟学院 Java
据说名字越长别人越关...:你问问这里面有多少是正经候选人,而不是乱打招呼的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务