一共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...