关注
没有参加这次的笔试,因为不敢。
按照上面的题目理解,我也尝试给出一个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))
```
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客新年AI问运 #
6492次浏览 110人参与
# 工作中的卑微时刻 #
33428次浏览 199人参与
# 牛客AI体验站 #
16261次浏览 286人参与
# 多益网络工作体验 #
63161次浏览 306人参与
# 有必要和同事成为好朋友吗? #
1020次浏览 21人参与
# 正在实习的碎碎念 #
1644991次浏览 13716人参与
# 面试中的破防瞬间 #
1190259次浏览 11027人参与
# 工作一周年分享 #
52335次浏览 274人参与
# 滴!实习打卡 #
786571次浏览 6841人参与
# 秋招吐槽大会 #
304297次浏览 1523人参与
# 机械人的薪资开到多少,才适合去? #
165040次浏览 571人参与
# 你最满意的offer薪资是哪家公司? #
71395次浏览 353人参与
# 大学最后一个寒假,我想…… #
89286次浏览 809人参与
# 你怎么看待AI面试 #
146032次浏览 786人参与
# 哪些公司真双非友好? #
62903次浏览 268人参与
# OC/开奖 #
411300次浏览 2282人参与
# 为了实习逃课值吗? #
65788次浏览 526人参与
# 如果可以选,你最想从事什么工作 #
722027次浏览 4870人参与
# 重来一次,你会对开始求职的自己说 #
32833次浏览 388人参与
# 如何提高实习转正率? #
86545次浏览 505人参与
查看11道真题和解析