关注
没有参加这次的笔试,因为不敢。
按照上面的题目理解,我也尝试给出一个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))
```
查看原帖
点赞 评论
相关推荐
昨天 15:07
哈尔滨工业大学 Java 点赞 评论 收藏
分享
查看17道真题和解析 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# Agent面试会问什么? #
35457次浏览 1375人参与
# 携程笔试 #
152968次浏览 887人参与
# 厦门银行科技岗值不值得投 #
18770次浏览 421人参与
# 面试体验最好和最差的公司 #
24435次浏览 164人参与
# 米哈游工作体验 #
29763次浏览 144人参与
# 我的求职进度条 #
981677次浏览 6532人参与
# 哪些公司一直卡在简历筛选 #
104910次浏览 357人参与
# 中国电信笔试 #
40415次浏览 399人参与
# 拿到offer之后,可以做些什么 #
104204次浏览 510人参与
# 入职第一天,你准备什么时候下班 #
117983次浏览 516人参与
# 一人分享一个skill #
9104次浏览 238人参与
# 说说你知道的学历厂 #
400750次浏览 1431人参与
# 选实习,你更看重哪方面? #
76615次浏览 505人参与
# 春招至今,你收到几个面试了? #
90791次浏览 1153人参与
# 拼多多工作体验 #
55250次浏览 389人参与
# TCL求职进展汇总 #
152196次浏览 665人参与
# 给工作过的公司写一条大众点评,你会怎么写? #
11591次浏览 135人参与
# 通信/硬件的薪资开多少,才值得去? #
76551次浏览 407人参与
# 我是XXX,请攻击我最薄弱的地方 #
72925次浏览 491人参与
# 春招已经启动啦 硬件uu开始投了吗? #
124177次浏览 771人参与
# 你觉得专业和学校哪个对薪资影响最大 #
104380次浏览 618人参与
