Sinclair


私信TA

用户名:uq_77681846939

访问量:252

签 名:

等  级
排  名 4051
经  验 1711
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校 上海交通大学
专  业

  自我简介:

TA的其他文章

解题思路:
每一组判断t字符串和s字符串中相同索引的字符是否相等,只有101和010情况可以进行翻转
注意事项:
考虑边界,若不相同则直接结束循环返回-1
参考代码:

# 翻转(纯模拟)
d = int(input())
def match(t,s):
   count = 0
   n = len(t)
   # 考虑边界(不存在左右边元素)
   if t[0]!=s[0] or t[-1]!=s[-1]:
       return -1
   # 遍历中间部分
   for key in range(1,n-1):
       # 若t和s相同则执行下一元素
       if t[key] != s[key]:
           # 遍历到的s中元素和两边棋子不一样
           if s[key-1] == s[key+1] and s[key] != s[key-1]:
               s[key]=t[key]
               count += 1
           else:
               return -1
       else:
           continue
   return count
ans = []
for i in range(d):
   t=list(input())
   s=list(input())
   ans.append(match(t,s))
for i in ans:
   print(i)


 

0.0分

2 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区