栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

360笔试编程题-python实现

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

360笔试编程题-python实现

即将毕业了,感觉要被互联网卷飞了,今天开始刷刷笔试面试题。欧里给!水平有限,仅供参考!

先刷两道360笔试编程题。

1、有一种特殊的DNA,仅仅由核酸A和T组成,长度为n,顺次连接

科学家有一种新的手段,可以改变这种DNA。每一次,科学家可以交换该DNA上两个核酸的位置,也可以将某个特定位置的核酸修改为另一种核酸。

现在有一个DNA,科学家希望将其改造成另一种DNA,希望你计算最少的操作次数。

输入:输入包含两行,第一行为初始的DNA,第二行为目标DNA,保证长度相同。

输出:输出最少的操作次数

如输入:ATTTAA TTAATT  输出:3

# -*- coding=utf-8 -*-
# @Time : 2022/5/26 15:07
# @File:test_DNA_A_T.py
# @Sofware:PyCharm
## 360笔试题
stringt,stringg=input('初始的DNA 目标DNA(空格隔开):').split()
leng=len(stringt)
t=0;g=0;
for i in range(leng):
    if (stringt[i] != stringg[i]) & (stringg[i] == 'A'):
        t = t + 1
    elif (stringt[i] != stringg[i]) & (stringg[i] == 'T'):
        g = g + 1
print("最少操作次数:%dn",max(t,g));

2、A和B两个人在抽奖。现在有一个抽奖箱,里面有n张中奖票,m张不中奖票。A和B轮流从中抽一张奖票出来。如果有人抽到中奖票就结束,抽到中奖票的人胜利。抽过的奖票会被丢弃。

额外的,B每次抽后,会再次抽取一张票并丢弃掉(这张票中奖不算B胜利)。

现在,A先抽,请问A的胜率,保留4位小数后输出。

如果两人到最后也没有抽到中奖票算作B胜利。

输入:输入两个数字n,m,代表中奖票和不中奖票的数量 (0≤n,m≤1000)

输出:输出A的胜率,保留4位小数。

样例输入:2 3

样例输出:0.6000

# -*- coding=utf-8 -*-
# @Time : 2022/5/26 15:36
# @File:test_choujiang.py
# @Sofware:PyCharm

def dfs(nw,nb):
   ans = 0;
   ans += 1.0 * nw / (nw + nb);
   if (nw == 0):
      return 0.0;
   if (nb == 0):
      return 1.0;
   if (nb == 2):
      ans += 1.0 * nb / (nw + nb) * (nb - 1) / (nw + nb - 1) * dfs(nw - 1, nb - 2);
   elif (nb >= 3):
      ans += 1.0 * nb / (nw + nb) * (nb - 1) / (nw + nb - 1) *(1.0 * nw / (nw + nb - 2) * dfs(nw - 1, nb - 2) + 1.0 * (nb - 2) / (nw + nb - 2) * dfs(nw, nb - 3));
   return ans;

if __name__=='__main__':
   n, m = map(int,input('请输入n和m,用空格隔开:').split())
   print("%.4fn", dfs(n, m));
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/932027.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号