拼多多學霸提前批筆試

2021-09-25 15:54:33 字數 2525 閱讀 7622

一共4道題。

一、給兩個列表,a中數字幾乎嚴格公升序。「幾乎」的意思是,只需改變乙個數字,就可使得a列表嚴格公升序。問b列表中是否存在元素使得其替換了a列表的某元素後,a能嚴格公升序。如果存在多個,則選最大的那個替換。不存在則輸出no

例:input:

1 3 7 4 10

2 1 5 8 9

output:

1 3 7 9 10

#import sys

#for line in sys.stdin:

# a = line.split()

#print(inpt)

#a, b = inpt

a, b = [1,3,7,4,10], [2,1,5,8,9]

nc = -1

for i in range(1, len(a)):

if a[i] > a[i-1]:

continue

else:

nc = i-1

break

if nc == -1:

print('no')

results = [, ]

r1 = a[nc+1]

if nc == 0:

l1 = -9999

elif a[nc-1] < a[nc+1]-1:

l1 = a[nc-1]

else:

l1 = 9999

l2 = a[nc]

if nc +1 == len(a)-1:

r2 = 9999

elif a[nc] < a[nc+2]-1:

r2 = a[nc+2]

else:

r2 = -9999

for i in b:

if l1 < i and i < r1:

if l2 < i and i < r2:

if results == [, ]:

print('no')

elif results[0] != and results[1] != :

if max(results[0]) > max(results[1]):

a[nc] = max(results[0])

elif max(results[0]) < max(results[1]):

a[nc+1] = max(results[1])

elif results[0] != :

a[nc] = max(results[0])

else:

a[nc+1] = max(results[1])

for i in a:

print(i)

二、

判斷輸入的列表裡的字串能不能通過調換位置組成環形,使得前乙個字串的尾字母和後乙個字串的首字母相同。

思路,記錄所有字串的收尾字母,判斷這些字母是否都重複了雙數次,是就輸出true,否就輸出false。

例:input:cat tdb

output:false

input:cat duf tbd fic

output:true

#import sys 

#for line in sys.stdin:

# a = line.split()

#a = input().split(' ')

#a = ['cat', 'tdb']

list0 =

for i in a:

dic = {}

for i in list0:

if i in dic:

del dic[i]

else:

dic[i] = 0

if dic == {}:

print('true')

else:

print('false')

三、

有一堆長方形積木,高相等都是1,底為l×l,重量為w。每塊積木只能承受自身7倍的重量,且上面一層的積木變成必須比下面一層嚴格小,問最多可以搭多少層。

例:input:

10(積木數量)

1 2 3 4 5 6 7 8 9 10(積木底邊長)

1 1 1 1 1 1 1 1 1 10(積木重量)

output:7(答案給的貌似是7,不記得了,可我自己怎麼想都是8)

n = 10

l = [1,2,3,4,5,6,7,8,9,10]

w = [1,1,1,1,1,1,1,1,1,10]

num = [0] * n

suz = [0] * n

for i in range(1, n):

suz[i] = w[i-1] + suz[i-1]

num[i] = num[i-1] + 1

if suz[i] > 7 * w[i] or l[i] == l[i-1]:

suz[i] = suz[i-1]

num[i] = num[i-1]

print(max(num))

四、忘了

拼多多 學霸批 面經

直接上乾貨了 一面 技術面我開始給的方法 用二維陣列存好 例如abcdefghijkl k 3 列印結果 abcd l e k f jihg 優化後的 第一行和最後一行直接打,中間的,判斷頭和尾在字串中的位置即可。比如,i從1開始,第i行的開頭在字串str中的位置就是str.length i 第i行...

拼多多 提前批0722(演算法工程師)筆試總結

本次筆試題一共有四道演算法題目,難度都不算很大,總的來說是考察基礎能力加上一些思考能力。不同的崗位筆試題目是不同的。演算法工程師崗位四道程式設計題,題目沒有截圖沒有儲存,只是憑印象介紹,分別如下 在一維陣列中,儲存著自然數,找出其子連續序列的長度,子串行滿足先減小後增大。也就是類似 v 一樣的山谷。...

樂鑫提前批筆試

題目解析 主要考慮這麼幾個問題 1.輸入的n和m是有範圍的 2.注意有效字元和無效字元 3.就是溢位情況,大數取餘 4最後就是輸入輸出問題 感覺題目沒有說清楚 include iostream include vector include string using namespace std voi...