关注
没有参加这次的笔试,因为不敢。
按照上面的题目理解,我也尝试给出一个Solution。
基本思路:
1. s1元素的最后元素在s2中找到对应位置;
2. 在s2对应位置后面的元素;
3. 在s1的这个元素被选中,转移到s1的末尾;
4. 直到s1和s2完全相同,则输出移动的步数。
另外,我觉得很多时候要提前想Testcase;如果在线编程测试时,哪些没有通过的例子能显示出来就好了——就想LeetCode的环境,我觉得难度会降不少。
show the code
```
def moves(sa, sb):
steps = 0
if len(sa)!=len(sb) or set(sa)!=set(sb):
return 0 # impossible
else:
sa = list(sa)
sb = list(sb)
while sa!=sb:
try:
moveC = sb[sb.index(sa[-1])+1]
except IndexError:
moveC = sa[0]
sa.remove(moveC)
sa.append(moveC)
steps += 1
return steps
if __name__ == "__main__":
s1 = 'aac'
s2 = 'caa'
print(moves(s1, s2))
```
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 计算机有哪些岗位值得去? #
9842次浏览 89人参与
# 电网笔面经互助 #
36041次浏览 351人参与
# 实习生的蛐蛐区 #
29662次浏览 218人参与
# 听劝,这个简历怎么改 #
177499次浏览 1151人参与
# 应届生,你找到工作了吗 #
15836次浏览 129人参与
# 你找工作的时候用AI吗? #
11756次浏览 119人参与
# 说说你知道的学历厂 #
20910次浏览 124人参与
# 总结:哪家公司面试体验感最好 #
51576次浏览 367人参与
# 学历贬值真的很严重吗? #
21755次浏览 161人参与
# 面试尴尬现场 #
16931次浏览 109人参与
# 入职第一天,你准备什么时候下班 #
62945次浏览 380人参与
# 大学生该如何认清当下的就业环境? #
88779次浏览 567人参与
# 下班后的时间你怎么安排 #
5388次浏览 61人参与
# 打工人的工作餐日常 #
48664次浏览 362人参与
# 哪些公司校招卡第一学历 #
61909次浏览 234人参与
# 哪一瞬间觉得自己长大了 #
5496次浏览 89人参与
# 社会教会你的第一课 #
22835次浏览 286人参与
# 你认为小厂实习有用吗? #
8294次浏览 81人参与
# 你觉得第一学历对求职有影响吗? #
92992次浏览 668人参与
# 研究所笔面经互助 #
75455次浏览 470人参与