2019 3 9 拼多多試題

2021-09-12 07:15:26 字數 3225 閱讀 9097

1、在**的某個位置有乙個商品列表,該列表是由l1、l2兩個子列表拼接而成。當使用者瀏覽並翻頁時,需要從列表l1、l2中獲取商品進行展示。展示規則如下:

使用者可以進行多次翻頁,用offset表示使用者在之前頁面已經瀏覽的商品數量,比如offset為4,表示使用者已經看了4個商品

n表示當前頁面需要展示的商品數量

展示商品時首先使用列表l1,如果列表l1長度不夠,再從列表l2中選取商品

從列表l2中補全商品時,也可能存在數量不足的情況

請根據上述規則,計算列表l1和l2中哪些商品在當前頁面被展示了

例:輸入

2 4 4 4

1 2 4 4

4 1 3 3

輸出:2 4 0 2

1 3 0 0

3 3 1 2

offset,n,l1,l2=map(int,raw_input().strip().split())

if offset<=l1:

if offset+n<=l1:

start1,end1,start2,end2=offset,offset+n,0,0

elif offset+n>l1 and offset+n<=l2+l1:

start1,end1,start2,end2=offset,l1,0,offset+n-l1

else:

start1,end1,start2,end2=offset,l1,0,l2

elif offset>l1 and offset<=l1+l2:

if offset+n<=l1+l2:

start1,end1,start2,end2=l1,l1,offset-l1,offset+n-l1

else:

start1,end1,start2,end2=l1,l1,offset-l1,l2

else:

start1,end1,start2,end2=l1,l1,l2,l2

print str(start1)+' '+str(end1)+' '+str(start2)+' '+str(end2)

2、給出平面上的n個點,現在需要你求出,在這n個點裡選3個點能構成乙個三角形的方案有幾種。

n=input()

dots=

number=0

for i in range(n):

dot=map(int,raw_input().strip().split())

for i in range(n-2):

for j in range(i+1,n-1):

for k in range(j+1,n):

if (dots[i][0]-dots[j][0])*(dots[j][1]-dots[k][1])!=(dots[i][1]-dots[j][1])*(dots[j][0]-dots[k][0]):

number+=1

print number

3、給定乙個無序陣列,包含正數、負數和0,要求從中找出3個數的乘積,使得乘積最大,要求時間複雜度:o(n),空間複雜度:o(1)

n=input()

a=map(int,raw_input().strip().split())

neg1=neg2=pos1=pos2=pos3=0

for i in a:

if ipos1:

pos1,pos2,pos3=i,pos1,pos2

elif i>pos2:

pos2,pos3=i,pos2

elif i>pos3:

pos3=i

else:

continue

product=max(neg1*neg2*pos1,pos1*pos2*pos3)

print product

4、有n只小熊,他們有著各不相同的戰鬥力。每次他們吃糖時,會按照戰鬥力來排,戰鬥力高的小熊擁有優先選擇權。前面的小熊吃飽了,後面的小熊才能吃。每只小熊有乙個飢餓值,每次進食的時候,小熊們會選擇最大的能填飽自己當前飢餓值的那顆糖來吃,可能吃完沒飽會重複上述過程,但不會選擇吃撐。

現在給出n只小熊的戰鬥力和飢餓值,並且給出m顆糖能填飽的飢餓值。

求所有小熊進食完之後,每只小熊剩餘的飢餓值。

n,m=map(int,raw_input().split())

energy=map(int,raw_input().split())

energy=sorted(energy,reverse=true)

dict={}

raw=

for i in range(n):

bear=map(int,raw_input().split())

dict[bear[0]]=bear[1]

dict=sorted(dict.items(),key=lambda s:s[0],reverse=true)

dict1={}

for i in range(n):

hungry=dict[i][1]

for j in range(m):

if energy[j]<=hungry:

hungry=hungry-energy[j]

energy[j]=0

dict1[str(dict[i][0])+' '+str(dict[i][1])]=hungry

for r in raw:

print dict1[r]

5、六一兒童節,老師帶了很多好吃的巧克力到幼兒園。每塊巧克力j的重量為w[j],對於每個小朋友i,當他分到的巧克力大小達到h[i] (即w[j]>=h[i]),他才會上去表演節目。老師的目標是將巧克力分發給孩子們,使得最多的小孩上台表演。可以保證每個w[i]> 0且不能將多塊巧克力分給乙個孩子或將一塊分給多個孩子。

n=input()

child=map(int,raw_input().split())

m=input()

chocolate=map(int,raw_input().split())

chocolate=sorted(chocolate)

num=0

for i in range(n):

for j in range(m):

if child[i]<=chocolate[j]:

num+=1

chocolate[j]=0

break

print num

拼多多筆試題解析

120分鐘,共四道程式設計題。1.輸出乙個陣列a最長的 山谷 子陣列b的長度。山谷是指b 0 b 1 b i 1 b i 思路 對每個數,向左搜尋,若比當前數大,則一直搜尋。向右搜尋,若比當前數大,則一直搜尋。如下 def findsubnum nums ans 0 for i in range 1...

2018拼多多(三)

六一兒童節,老師帶了很多好吃的巧克力到幼兒園。每塊巧克力j的重量為w j 對於每個小朋友i,當他分到的巧克力大小達到h i 即w j h i 他才會上去表演節目。老師的目標是將巧克力分發給孩子們,使得最多的小孩上台表演。可以保證每個w i 0且不能將多塊巧克力分給乙個孩子或將一塊分給多個孩子。輸入描...

拼多多案例研究

以前就有,但是拼多多把拼團這個點發揚光大,做成乙個以拼團為主的電商軟體。拼多多之所以能成功,最主要的就是他的目標人群,定位得非常準確 就是基本文化素質不高的一類人。這類人對決定 的的質量引數不太注重,更側重於關注實用性,用彩電作為例子的話,就是相對於彩電的具體畫素,他們更關注彩電的尺寸。他們不是很在...