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且不能將多塊巧克力分給乙個孩子或將一塊分給多個孩子。輸入描...
拼多多案例研究
以前就有,但是拼多多把拼團這個點發揚光大,做成乙個以拼團為主的電商軟體。拼多多之所以能成功,最主要的就是他的目標人群,定位得非常準確 就是基本文化素質不高的一類人。這類人對決定 的的質量引數不太注重,更側重於關注實用性,用彩電作為例子的話,就是相對於彩電的具體畫素,他們更關注彩電的尺寸。他們不是很在...