1.分发饼干
假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。
对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。
方法一:排序
#方法一:排序
def findContentChildren(g,s):
g.sort()
s.sort() #先排序
res=0 #记录第几个人
for i in range(len(s)):
if res<len(g) and g[res]<=s[i]:
res+=1 #满足题意,可以分饼干,然后找下一个人
return res
2.相对名次
给你一个长度为 n 的整数数组 score ,其中 score[i] 是第 i 位运动员在比赛中的得分。所有得分都 互不相同 。
运动员将根据得分 决定名次 ,其中名次第 1 的运动员得分最高,名次第 2 的运动员得分第 2 高,依此类推。运动员的名次决定了他们的获奖情况:
名次第 1 的运动员获金牌 "Gold Medal" 。
名次第 2 的运动员获银牌 "Silver Medal" 。
名次第 3 的运动员获铜牌 "Bronze Medal" 。
从名次第 4 到第 n 的运动员,只能获得他们的名次编号(即,名次第 x 的运动员获得编号 "x")。
使用长度为 n 的数组 answer 返回获奖,其中 answer[i] 是第 i 位运动员的获奖情况。
方法一:排序+字典
#方法一:排序+字典
def findRelativeRanks(score):
tem=sorted(score,reverse=True) #从大到小排序,并且用tem接收排序后的数组
a=["Gold Medal","Silver Medal","Bronze Medal"] #排名
dic={} #字典保存对应的名次
for i in range(len(tem)):
if i<3:
dic[tem[i]]=a[i]
else:
dic[tem[i]]=str(i+1)
return [dic[i] for i in score] #按照原来的顺序