騰訊技術研究類和數據分析第一次筆試(2021.8.22)——Python

第一題:開鎖——數學期望

# 最優策略:鑰匙的選擇先從消耗時間最少的開始選擇,然后選擇第二小的依次類推
# 開鎖概率1/n
def openLockTime(n, m, time):time_reverse = []  # (n,m)->(m,n)for i in range(m):m_time = []for j in range(n):m_time.append(time[j][i])time_reverse.append(sorted(m_time))E = 0.000000p = 1 / nfor i in range(m):i_sum = 0for j in range(n):i_sum = i_sum + sum(time_reverse[i][:j + 1])E += p * i_sumreturn E# 鑰匙數、鎖個數
n, m = list(map(int, input().split()))
# 第i把鑰匙打開第j把鎖的時間
time = []
for i in range(n):t = list(map(int, input().split()))time.append(t)
print(openLockTime(n,m,time))
'''
2 4
347 177 40 84
107 282 347 193
'''# 對time進行翻轉# 鑰匙數、鎖個數
n, m = list(map(int, input().split()))
# 第i把鑰匙打開第j把鎖的時間
time = []
for i in range(n):t = list(map(int, input().split()))time.append(t)

第二題:馬夫**鏈——條件概率(矩陣相乘)

def predictOwnP(step, last, P):# 第i-1步last到第i步cur的狀態for i in range(step):stab = 0.0Own = 0.0Fail = 0.0for j in range(3):stab += P[0][j] * last[j]Fail += P[1][j] * last[j]Own += P[2][j] * last[j]last = [stab, Fail, Own]if last[-1] > 0.5:return 1else:return 0group_num = int(input())
for i in range(group_num):step = int(input())first = list(map(float, input().split()))P = []for _ in range(3):P.append(list(map(float, input().split())))print(predictOwnP(step, first, P))'''
2
2
0.4 0.2 0.4
0.2 0.1 0.7
0.3 0.5 0.2
0.5 0.4 0.1
10
0.4 0.2 0.4
0.2 0.1 0.7
0.3 0.5 0.2
0.5 0.4 0.1
'''

第三題:迎賓車隊——極差(雙指針)

def carMaxNum(n,speed):speed = sorted(speed)maxNum = 0left = 0right = 0while right < n:if speed[right] - speed[left] <= 10:maxNum = max(maxNum,right - left + 1)right += 1else:left += 1return maxNumn = int(input())
speed = list(map(int,input().split()))
print(carMaxNum(n,speed))
'''
6
17 3 21 8 44 24
'''
'''
3
9 7 4
'''

第四題:水站的水流量——直接找的規律

def calcuMaxNode(n, t):# 第i層和第i-1層的水流支路有2i-2條,每條能分到1/(2i-2)個水流量,中間的結點每秒會得到1/(i-1)個水流量,因此需要i-1s才能滿載# 外面的兩個則需要2i-2s才能滿載# 每一層滿載需要消耗的時間為ismaxT = sum([i+1 for i in range(n)])if t >= maxT:return maxT# 先確定目前流到了哪一層time = [1 for _ in range(11)]for i in range(2,11):time[i] = time[i-1] + iprint(time)layers = 1for layer in range(1,n+1):if time[layer] > t:layers = layer # 流到了第layer層,且還沒有流滿breakinside_time = layers/(layers - 1) # 里面水結點流滿需要的時間outside_time = 2*layers/(layers - 1)  # 外面2個水結點流流滿的時間if time[layers-1] + inside_time*(layers-2) > t:return sum([i for i in range(1,layers)])elif time[layers-1] + inside_time*(layers-2) <= t and time[layers] + outside_time*2 > t:return sum([i for i in range(1,layers+1)]) - 2else:return sum([i for i in range(1,layers+1)])n, t = list(map(int, input().split()))
print(calcuMaxNode(n,t))'''
3 5
'''

第五題:轟炸——DFS或者BFS(將1包圍的0改為2)

def hongzha(matrix):m = len(matrix)n = len(matrix[0])# 先將沒有被1包圍的0給去掉,沒有被1包圍也就是可以通到矩陣的四邊# 判斷是否需要繼續遍歷def judge(indexi,indexj,hashtable,matrix):if indexi < 0 or indexj < 0 or indexi >= m or indexj >= n:return Falseif hashtable[indexi][indexj] == True:return Falseif matrix[indexi][indexj] == 1:return Falsereturn True# 廣度優先搜索def bfs(indexi,indexj,hashtable,res):''':param indexi::param indexj::param hashtable::param P: 存放著四邊上的0元素坐標,后面會將不被包圍的坐標也添加上去:return:'''P= [(indexi,indexj)]hashtable[indexi][indexj] = TrueI = [0,-1,1,0]J = [-1,0,0,1]while P:indexi,indexj = P[0]res.append(P[0])for i in range(4):if judge(indexi+I[i],indexj+J[i],hashtable,matrix):P.append((indexi+I[i],indexj+J[i]))hashtable[indexi+I[i]][indexj+J[i]] = TrueP = P[1:]hashtable = [[False for _ in range(n)] for _ in range(m)]res = []for i in range(m):if judge(i,0,hashtable,matrix):bfs(i,0,hashtable,res)if judge(i,n-1,hashtable,matrix):bfs(i, n-1, hashtable, res)for j in range(n):if judge(0,j,hashtable,matrix):bfs(0,j,hashtable,res)if judge(m-1,j,hashtable,matrix):bfs(m-1,j, hashtable, res)for i in range(m):for j in range(n):if matrix[i][j] == 0 and (i,j) not in res:matrix[i][j] = 2return matriximport random
m = random.randint(5,11)
n = random.randint(5,11)
matrix = []
for i in range(m):line = []for j in range(n):line.append(random.randint(0,1))matrix.append(line)newMatrix = hongzha(matrix)
for line in newMatrix:print(line)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/255850.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255850.shtml
英文地址,請注明出處:http://en.pswp.cn/news/255850.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

教你怎樣選擇伺服電機控制方式

伺服電機一般都有三種控制方式&#xff1a;速度控制方式&#xff0c;轉矩控制方式&#xff0c;位置控制方式 。 速度控制和轉矩控制都是用模擬量來控制的。位置控制是通過發脈沖來控制的。具體采用什么控制方式要根據客戶的要求&#xff0c;滿足何種運動功能來選擇。 …

.Net Discovery系列之四 深入理解.Net垃圾收集機制(下)

上一節給大家介紹了 .Net GC的運行機制&#xff0c;下面來講下與GC相關的重要方法。 第二節&#xff0e;GC關鍵方法解析 1.Dispose()方法 Dispose可用于釋放所有資源&#xff0c;包括托管的和非托管的&#xff0c;需要自己實現。 大多數的非托管資源都要求手動釋放&#xff0c;…

真靜態和偽靜態的區別

首先肯定的是純靜態和偽靜態都是SEO的產物&#xff0c;但純靜態和偽靜態還是有很大區別的。 純靜態是生成真實的HTML頁面保存到服務器端&#xff0c;用戶訪問時直接訪問這 個HTML頁面即可&#xff0c;從而大大的減輕了服務器壓力&#xff08;如dedecms就是采用的純靜態&#xf…

非常有趣的Console

console覺醒之路&#xff0c;打印個動畫如何&#xff1f; 原文地址: http://www.helloweba.com/view-blog-383.html 批量去掉或替換文本中的換行符&#xff08;notepad、sublime text2&#xff09; 原文地址&#xff1a;http://m.blog.csdn.net/article/details?id43228729 有…

shopee蝦皮科技測試工程師第一次筆試

10道單選題 10道多選題 2道編程題 第一題&#xff1a;十進制轉二進制計算1的個數&#xff08;負數轉為補碼&#xff09; #!/usr/bin/env python # -*- coding: utf-8 -*- # Time : 2021/8/23 15:44 # Author : linlianqin # Site : # File : 十進制轉換為二進制&am…

假期實踐

第一天 地點:杭州頤高數碼城 第一天&#xff0c;我來到了自己家附近的頤高數碼城。文三路這邊有一個賣數碼產品的一條街&#xff0c;這里也是最貼近我專業實踐的地方&#xff0c;所以第一天的實踐我選擇了這里。 2001年開業的頤高數碼廣場座落于“電子一條街”文三路、學院路口…

3.AngularJS-過濾器

轉自&#xff1a;https://www.cnblogs.com/best/p/6225621.html 二、過濾器 使用過濾器格式化數據&#xff0c;變換數據格式&#xff0c;在模板中使用一個插值變量。語法格式如下&#xff1a; {{ express | filter:parameter1:p2:p3… | … | …}} 過濾器分了內置過濾器與自定義…

webstorm卡頓問題

解決webstorm卡頓問題 webstorm強大的功能就不多做介紹了。但是它的缺點也顯而易見&#xff1a;吃內存。 電腦配置稍低一點&#xff0c;運行webstorm就特別容易卡頓&#xff0c;特別是項目比較大的時候&#xff0c;那卡頓得不要不要的。 在我的筆記本8g內存 256ssd的配置下&…

cmd.exe啟動參數說明

啟動命令解釋程序 Cmd.exe 的新范例。如果在不含參數的情況下使用&#xff0c;cmd 將顯示操作系統的版本和版權信息。 語法 cmd [{/c | /k}] [/s] [/q] [/d] [{/a | /u}] [/t:FG] [/e:{on | off}] [/f:{on | off}] [/v:{on | off}] [String] 參數 /c 執行 String 指定的命令&am…

【深度學習】——訓練過程

包含哪些層 訓練過程 其實就是yf(x)的求參過程&#xff0c;先給參數一個初始值&#xff0c;然后根據初始函數計算得到預測值&#xff0c;根據預測值和真值計算損失&#xff0c;然后又根據損失函數進行反向傳播更新參數&#xff0c;更新參數后&#xff0c;再次計算預測值&#…

ABB RAPID 程序 WorldZone 歸納

在 RAPID 程序中&#xff0c;靜態的 WorldZone 不能被解除并再次激活&#xff0c;或者進行擦除。在 RAPID 程序中&#xff0c; 臨時的 WorldZone 可以被解除&#xff08;WZDisable&#xff09; &#xff0c; 再次激活&#xff08;WZEnable&#xff09; 或者擦除&#xff08;WZF…

thinkphp自定義模板標簽(一)

thinkphp內置的foreach和include等模板標簽使用是非常方便的&#xff1b;但是內置的那些標簽只能滿足常用功能&#xff0c;個性化的功能就需要我們自己編寫自定義模板標簽了&#xff1b;下面就是要講解如何實現&#xff1b; 示例環境&#xff1a;thinkphp3.2.3 thinkphp的模板標…

【深度學習】——激活函數(sigmoid、tanh、relu、softmax)

目錄 激活函數 1、作用 2、常用激活函數 3、衡量激活函數好壞的標準&#xff1a; 4、不同的激活函數 1&#xff09;sigmoid 2&#xff09;tanh函數 3&#xff09;RULE函數和leak-relu函數 4&#xff09;softmax函數 激活函數 1、作用 如果只是線性卷積的話&#xff0c…

SDUT 3377 數據結構實驗之查找五:平方之哈希表

數據結構實驗之查找五&#xff1a;平方之哈希表 Time Limit: 400MS Memory Limit: 65536KBSubmit StatisticProblem Description 給定的一組無重復數據的正整數&#xff0c;根據給定的哈希函數建立其對應hash表&#xff0c;哈希函數是H(Key)Key%P&#xff0c;P是哈希表表長&…

我的2017年前端之路總結

原文首發于我的博客 年末了&#xff0c;趕著剛考完兩門考試&#xff0c;在最后4門考試來臨之前抽空寫一下今年的小結。 今年格外忙。忙完本科畢設&#xff0c;又馬上投入了研究生實驗室的搬磚生涯。跟去年一樣&#xff0c;列個今年的學習成果清單&#xff1a; 過去的一年 技術成…

對軟件工程的疑問

在大學時光中學習了算法編程后&#xff0c;我發現我對于源程序理解很差&#xff0c;我只會很低程度的寫代碼&#xff0c;但是基本描述不出來。所以我的編程很差&#xff0c;而且由于我很少打代碼&#xff0c;所以我的編程能力基本沒有多少提高&#xff0c;我也沒有發現該學什么…

【深度學習】——分類損失函數、回歸損失函數、交叉熵損失函數、均方差損失函數、損失函數曲線、

目錄 代碼 回歸問題的損失函數 分類問題的損失函數 1、 0-1損失 (zero-one loss) 2、Logistic loss 3、Hinge loss 4、指數損失(Exponential loss) 機器學習的損失函數 Cross Entropy Loss Function&#xff08;交叉熵損失函數&#xff09; 交叉熵優點 Mean Squared E…

伺服電機慣量問題

在伺服系統選型及調試中&#xff0c;常會碰到慣量問題。 其具體表現為&#xff1a;在伺服系統選型時&#xff0c;除考慮電機的扭矩和額定速度等等因素外&#xff0c;我們還需要先計算得知機械系統換算到電機軸的慣量&#xff0c;再根據機械的實際動作要求及加工件質量要求來…

【轉】應用架構一團糟?如何將單體應用改造為微服務

概述 將單體應用改造為微服務實際上是應用現代化的過程&#xff0c;這是開發者們在過去十年來一直在做的事情&#xff0c;所以已經有一些可以復用的經驗。 全部重寫是絕對不能用的策略&#xff0c;除非你要集中精力從頭構建一個基于微服務的應用。雖然聽起來很有吸引力&#xf…

Linux 解決ssh連接慢的問題

備份文件 cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak 編輯文件 vi /etc/ssh/sshd_config 輸入/ 查找GSSAPIAuthentication 設置如下 GSSAPIAuthentication no # 是否允許使用基于 GSSAPI 的用戶認證。默認值為"no"。僅用于SSH-2 詳細解釋 輸入/ 查找UseDNS …