'''
题目描述
有一群孩子和一堆饼干,每个孩子有一个饥饿度,每个饼干都有一个大小。每个孩子只能吃 一个饼干,
且只有饼干的大小不小于孩子的饥饿度时,这个孩子才能吃饱。求解最多有多少孩子 可以吃饱。
'''
arr1=[1,2,5,9]
arr2=[1,3,21,4]
def weibao(arr1,arr2):
i=0
arr1.sort()
arr2.sort()
for j in arr1:
while(len(arr2)>0):
target= arr2.pop(0)
if(target>=j):
print '{}吃了{},饱了'.format(j,target)
i=i+1
break
print '{}个人吃饱了'.format(i)
weibao(arr1,arr2)
'''
一群孩子站成一排,每一个孩子有自己的评分。现在需要给这些孩子发糖果,规则是如果一 个孩子的评分比自己身旁的一个孩子要高,
那么这个孩子就必须得到比身旁孩子更多的糖果;所 有孩子至少要有一个糖果。求解最少需要多少个糖果。
'''
def jifen(arr):
tmp=[]
for i in arr:
tmp.append(1)
for i in range(len(arr)-1):
if(arr[i+1]>arr[i]):
tmp[i+1]=tmp[i]+1
for i in range(len(arr)-1,0,-1):
if(arr[i-1]>arr[i]):
tmp[i-1]=tmp[i]+1
print tmp
test = [1,0,2]
jifen(test)
'''
题目描述
给定多个区间,计算让这些区间互不重叠所需要移除区间的最少个数。起止相连不算重叠。
输入输出样例
输入是一个数组,数组由多个长度固定为 2 的数组组成,表示区间的开始和结尾。输出一个 整数,表示需要移除的区间数量。
'''
def eraseOverlapIntervals(arr):
for i in range(len(arr)):
for j in range(len(arr)-i-1):
if(arr[j][1]>arr[j+1][1]):
arr[j],arr[j+1]=arr[j+1],arr[j]
print arr
tmp_index=0
for j in range(len(arr)-1):
while(j<len(arr)-1):
if(arr[j+1][0] < arr[j][1]):
arr.pop(j+1)
tmp_index=tmp_index+1
else : break
#return self.pop_list(arr,tmp_index)
return tmp_index