860.柠檬水找零
class Solution:
def lemonadeChange(self, bills: List[int]) -> bool:
record_5=0
record_10=0
# for i in range(len(bills)):
# if(bills[i]==5):
# record_5+=1
# if(bills[i]==10):
# record_10+=1
for i in range(len(bills)):
if(bills[i]==5):
record_5+=1
if(bills[i]==10):
record_10+=1
if(record_5==0):
return False
else:
record_5-=1
if(bills[i]==20):
if(record_10==0):
record_5-=3
else:
record_10-=1
record_5-=1
if(record_5<0 or record_10<0):
return False
return True
406.根据身高重建队列
#伪代码
sort(people.begin(),people.end(),cmd);
vector<vector<int>> queue;
for(i=0;i<people.size();i++){
int position=people[i][1];
queue.insert(queue.begin()+position,people[i])
}
return queue;
class Solution:
def reconstructQueue(self, people: List[List[int]]) -> List[List[int]]:
people.sort(key=lambda x:(-x[0],x[1]))
queue=[]
for p in people:
queue.insert(p[1],p)
return queue
452. 用最少数量的箭引爆气球
#伪代码
if(points.size()==0) return 0;
sorr(points.begin,points.end,cmd);
int result=1;
for(i=1;i<points.size();i++){
if(points[i][0]>points[i-1][1]):
result+=1
else:
points[i][1]=min(points[i][1],points[i-1][1]);
}
return result
class Solution:
def findMinArrowShots(self, points: List[List[int]]) -> int:
if(len(points)==0):
return 0
points.sort(key=lambda x:x[0])
result=1
for i in range(1,len(points)):
if(points[i][0]>points[i-1][1]):
result+=1
else:
points[i][1]=min(points[i][1],points[i-1][1])
return result