字節(jié)跳動2019春招研發(fā)部分python編程題匯總
發(fā)布時間:2020-04-26 10:37:12 作者:劍圣土豆
我要評論

這篇文章主要介紹了字節(jié)跳動2019春招研發(fā)部分python編程題匯總,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
1、萬萬沒想到之聰明的編輯
題目描述:
題解:
雙指針法
按照題目要求的規(guī)則來編寫程序,不要忘記處理輸入和輸出
import sys n=int(input())#讀第一行 for i in range(n): #s = list(input()) s = list(sys.stdin.readline().strip())#讀一行的字符串,轉(zhuǎn)化為list k = 0 #每個循環(huán)都重新賦值。設置一個指針,檢查是否有重復 for j in range(len(s)): s[k] = s[j]#賦值,如果有重復,將后面的賦值給前面的 k += 1 #不論什么情況都加1 #下面處理重復的情況 if k > 2 and s[k-3] == s[k-2] and s[k-2] == s[k-1]:#有3個連續(xù)的,去掉最后一個 k-=1 if k > 3 and s[k-4] == s[k-3] and s[k-2] == s[k-1]:#AABB,去掉最后一個 k -= 1 print(''.join(s[:k])) #對輸出進行處理
2、萬萬沒想到之抓捕孔連順
題目描述:
題解:
雙指針法
n, dist = map(int, input().split()) #n是建筑物數(shù)目,dist是兩個特工相距的最大距離 nums = list(map(int, input().split())) #列表nums存儲所有建筑物的坐標(橫軸) res = 0 #res埋伏方案數(shù)目 i = 0 #i為第一個特工的下標 j = 2 #j為另外兩個特工最遠位置的下標,因為有三個特工,所以j的下標從2開始 while i < n-2: while j < n and nums[j] - nums[i] <= dist: #符合埋伏條件,繼續(xù)搜尋 j += 1 #最后一次時會使j多加一次 if j - 1 - i >= 2: num = j - i - 1 #num為C的底數(shù) res += num * (num - 1) // 2 #排列組合C(num,2)=num!/(num-2)!*2! i += 1 res= res%99997867 print(res)
3、雀魂啟動!
題目描述:
題解:
def IShepai(str): lenth=len(str) #能否劃空 if lenth == 0: return True count1=str.count(str[0]) # 沒出現(xiàn)過雀頭,且第一個數(shù)字出現(xiàn)的次數(shù) >= 2,去掉雀頭剩下的能不能和牌 if lenth%3!=0 and count1>=2 and IShepai(str[2:])==True: return True # 如果第一個數(shù)字出現(xiàn)次數(shù) >= 3,去掉這個刻子后看剩下的能和牌 if count1 >= 3 and IShepai(str[3:])==True: return True # 如果存在順子,移除順子后剩下的能和牌 if str[0] + 1 in str and str[0] + 2 in str: str1 = str[1:] str1.remove(str[0]+1) str1.remove(str[0]+2) if IShepai(str1) == True: return True # 以上條件都不滿足,則不能和牌 return False if __name__ == '__main__': a=list(map(int, input().split())) flag=0 #遍歷所有可以抓到的牌看能不能胡牌 for i in range(1,10): al=sorted(a + [i]) #每個數(shù)字最多4張牌 if al.count(i)>4: continue else: if IShepai(al) == True: flag=1 print(i,end=" ") if flag==0: print(0)
4、特征提取
題目描述:
題解:
n = int(input()) # n代表測試用例的個數(shù) while n > 0: m = int(input()) # m代表視頻的幀數(shù) res = 1 #res代表最長特征運動的長度 d = {} # 字典d記錄{貓咪的特征值(key),特征運動長度(特征值連續(xù)出現(xiàn)的次數(shù))} for i in range(m): l = list(map(int , input().split())) # 每行代表一幀 k = l[0] # 第一個數(shù)字是該幀的特征個數(shù) tmp_d = {} for j in range(k): index = l[2 * j + 1]* 10 + l[2 * j + 2] #兩個數(shù)字形成的特征值歸一化為index if index in d: # 此特征值出現(xiàn)在了上一幀中 tmp_d[index] = d[index] + 1 res = max(res, tmp_d[index]) # 更新res即最長特征運動的長度 else: tmp_d[index] = 1 d = tmp_d #及時更新字典d的內(nèi)容 print(res) n -= 1
5、畢業(yè)旅行問題
題目描述:
題解:
import itertools n = int(input()) #城市個數(shù)n(1<n≤20,包括北京) L = [] #城市間的車票價錢 n行n列的矩陣 [n][n] for i in range(n): L.append(list(map(int, input().split()))) def treaval(L, n): # 除起點之外的不同路線組合,假設起點為0號節(jié)點 com = list(itertools.permutations(list(range(1, n)), n - 1)) #range函數(shù)返回的是一個可迭代對象,而不是列表類型, 所以打印的時候不會打印列表。 spend = 9999 # 假設一開始花銷很大 for j in range(len(com)): #len(com)是可選擇的路線種類數(shù) road = list(com.pop(0))# 獲取其中一種路線組合road列表之后就釋放,com是一個元組序列 # 補全起點和終點(注意起點也是終點,形成閉環(huán))此時road長度為n+1 road.append(0)#在列表末尾添加新的對象 road.insert(0, 0)#將對象插入列表 x = 0 # 當前路線的花銷 for i in range(n): x = x + L[road[i]][road[i + 1]] if x < spend: spend = x #更新最小花銷 return spend print(treaval(L, n))
只通過了33%
6、找零
題解:
動態(tài)規(guī)劃
lyst = [64, 16, 4, 1] #硬幣列表(從大到小排列) cost = 1024 - int(input()) res = 0 #最少得到的硬幣數(shù)量 for i in lyst: res += cost//i #取整除 - 返回商的整數(shù)部分(向下取整) cost %= i #取模 - 返回除法的余數(shù) print(res)
7、機器人跳躍問題
題目描述:
題解:
import math n = int(input()) arr = list(map(int, input().split())) # 假設跳躍前能力為E,要跳的高度為H,那么跳躍后的能量就是E-(H-E)=2E-H, # 那么跳躍后的能量加上高度就是跳躍前的兩倍,然后從后往前逆推。 E = 0 # 跳到最后一步的能力值設為0 arr.reverse()#翻轉(zhuǎn)列表逆推 for H in arr: E = math.ceil((E + H ) / 2) #向上取整,以此保證剩余能量大于等于0 print(E)
到此這篇關于字節(jié)跳動2019春招研發(fā)部分python編程題匯總的文章就介紹到這了,更多相關字節(jié)跳動2019內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持腳本之家!
相關文章
- 這篇文章主要介紹了字節(jié)跳動2019屆校招筆試題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-09-16
- 這篇文章主要介紹了字節(jié)跳動的三道編碼面試題的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2020-04-08
字節(jié)跳動抖音C++開發(fā)實習一二面涼經(jīng)
這篇文章主要介紹了字節(jié)跳動抖音C++開發(fā)實習一二面涼經(jīng),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2020-03-31字節(jié)跳動后端開發(fā)視頻架構面經(jīng)總結(jié)
這篇文章主要介紹了字節(jié)跳動后端開發(fā)視頻架構面經(jīng)總結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2020-02-25字節(jié)跳動一面、二面涼經(jīng)(面試小結(jié))
這篇文章主要介紹了字節(jié)跳動一面、二面涼經(jīng)(面試小結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2020-02-03字節(jié)跳動飛書音視頻服務器開發(fā)面經(jīng) (小結(jié))
這篇文章主要介紹了字節(jié)跳動飛書音視頻服務器開發(fā)面經(jīng)(小結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2020-01-13