2020年网易算法笔试题第四题python实现

优秀的01序列

1 如果序列S,T是优秀的,则序列S+T是优秀的,+被定义为按数学连接两个序列,即”010”+”110”=”010110”

2 如果序列S是优秀的,则序列rev(S)也是优秀的。rev(S) 被定义为按位翻转(0变1,1变0)序列S,并删去前导零。例如rev(” 1100101”)=“11010”

现在请你判断序列T是不是优秀的

输入描述

第一行数据组数T,表示有T组数据

每组数据的第一行是一个01序列,表示序列S。第二行是另一个01序列,表示序列T

1<=|S|,|T|<=1000,S,T不含前导零。

输出描述

对于每组数据,一行输出 YES或 NO,表示序列T是不是优秀的(大小写敏感)

示例

输入

1

1100

110011

输出

YES

示例2

输入

1

1000

100001111

输出

NO

n = int(input())
for i in range(n):
    S = input()
    T = input()
    ST = S + T
    S_list = list(S)
    ST_list = list(ST)
    all_S = []
    while S_list:
        all_S.append(''.join(S_list))
        for j, value in enumerate(S_list):
            if value == '1':
                S_list[j] = '0'
            else:
                S_list[j] = '1'
        while S_list and S_list[0] == '0':
            S_list.pop(0)
    while ST_list:
        for j, value in enumerate(ST_list):
            if value == '1':
                ST_list[j] = '0'
            else:
                ST_list[j] = '1'
        while ST_list and ST_list[0] == '0':
            ST_list.pop(0)
        if ''.join(ST_list) in all_S:
            print('YES')
            break
    else:
        print('NO')
以上为个人思考结果,未经严格验证,如有错误还望见谅和指正。
利用正则表达式进行判断,T是否属于S利用规则二所形成的序列集合所构成的(规则一)
但是python中是不包含判断字符串是否符合某个正则表达式的方法用search代替,通过设定限制进行,因此可能会有问题
import re
n = int(input())
for i in range(n):
    S = input()
    T = input()
    S_list = list(S)
    T_list = list(T)
    all_S = []
    while S_list:
        all_S.append(''.join(S_list))
        for j, value in enumerate(S_list):
            if value == '1':
                S_list[j] = '0'
            else:
                S_list[j] = '1'
        while S_list and S_list[0] == '0':
            S_list.pop(0)
    print(all_S)
    gz = '(' + '|'.join(all_S) + ')' + '+'
    pattern = re.compile(gz)
    res = pattern.search(T)
    print(res[0])
    if res and res[0] == T:
        print('YES')
    else:
        print('NO')


#网易##笔试题目##题解#
全部评论
请问你通过率多少,这题我做出来,测试用例和自测都是通过的,但最后通过率0
点赞 回复 分享
发布于 2019-08-09 22:58

相关推荐

废铁汽车人:秋招真是牛鬼蛇神齐聚一堂
点赞 评论 收藏
分享
Noob1024:一笔传三代,人走笔还在
点赞 评论 收藏
分享
1 11 评论
分享
牛客网
牛客企业服务