2020360实习校招算法笔试题
使⽤Python3
题⽬1:DNA匹配
题⽬描述:有⼀种特殊的DNA,仅仅由核酸A和T组成,长度为n,顺次连接。科学家有⼀种新的⼿段,可以改变这种DNA。每⼀次,科学家可以交换该DNA上两个核酸的位置,也可以将某个特定位置的核酸修改为另⼀种核酸。现在有⼀个DNA,科学家希望将其改造成另⼀种DNA,希望你计算最少的操作次数。
输⼊:
输⼊包含两⾏,第⼀⾏为初始的DNA,第⼆⾏为⽬标的DNA,保证长度相同。
输出:
输出最少的操作次数
样例输⼊:
ATTTAA
TTAATT
样例输出:
3
提⽰:
对于100%的数据,DNA长度⼩于等于100000
样例解释:
1.⾸先修改第⼀个位置的核酸(从A修改为T)
2.交换3和5位置的核酸
3.交换4和6位置的核酸
题⽬2:抽奖
题⽬描述:A和B两个⼈在抽奖。现在有⼀个抽奖箱,⾥⾯有张中将票,m张不中奖票。A和B轮流从中
那个抽⼀张奖票出来。如果有⼈抽到中奖票就结束,抽到中奖票的⼈胜利。抽过的奖票会被丢弃。额外的,B每次抽后,会再次抽取⼀张票并丢弃掉(这张票中奖不算B胜利)。现在,A先抽,请问A的胜率,保留4位⼩数后输出。如果两⼈到最后也没有抽到中奖票算作B胜利。
输⼊:
输⼊两个数字n,m,代表中奖票和不中奖票的数量(0<=n,m<=1000)
输出:
输出A的胜率,保留4位⼩数。
样例输⼊:
2 3
核酸结果查询样例输出:
0.6000
提⽰:
样例输⼊2
1 3
样例输出2
0.5000
样例⼆解释:
如果A第⼀轮抽到中奖票,A胜利,概率0.25。
如果A第⼆轮抽到中奖票,情况为A第⼀轮没有抽到中奖票,B也没有抽到中奖票,并且B丢弃掉的奖票也不是中奖票。概率位3/4 * 2/3 * 1/2 = 0.25。
综上,中奖率为0.5。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论