关注
没有参加这次的笔试,因为不敢。
按照上面的题目理解,我也尝试给出一个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))
```
查看原帖
点赞 评论
相关推荐
查看24道真题和解析 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你觉得大几开始实习最合适? #
3759次浏览 38人参与
# 金融银行求职进展汇总 #
329402次浏览 1808人参与
# 招商银行数字金融训练营 #
44375次浏览 670人参与
# 大厂实习和小厂实习最大的区别是什么? #
11719次浏览 82人参与
# 你都用vibe coding做过什么? #
1748次浏览 57人参与
# 如果人生可以debug你会改哪一行? #
2232次浏览 53人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
21905次浏览 432人参与
# AI Coding实战技巧 #
1437次浏览 41人参与
# Vibe Coding 会干掉初级岗位吗? #
3841次浏览 79人参与
# 你见过哪些招聘隐形歧视? #
2283次浏览 30人参与
# 做完笔试后你收到面试了吗? #
3460次浏览 47人参与
# 面试被问到不会的问题,你怎么应对? #
3588次浏览 30人参与
# 牛友の3月总结 #
7683次浏览 78人参与
# 你现在一天AI几次? #
1120次浏览 40人参与
# 七猫笔试 #
5670次浏览 37人参与
# 选完offer后,你后悔学本专业吗 #
66529次浏览 262人参与
# 实习学到最有价值的工作习惯 #
66799次浏览 541人参与
# 哪些公司真双非友好? #
71339次浏览 305人参与
# 最难的技术面是哪家公司? #
71686次浏览 1060人参与
# 你认为小厂实习有用吗? #
133335次浏览 720人参与
# 快手工作体验 #
321558次浏览 2932人参与
# 找AI工作可以去哪些公司? #
24164次浏览 1041人参与