当前位置:网站首页>Simulation volume leetcode [general] 1705 The maximum number of apples to eat
Simulation volume leetcode [general] 1705 The maximum number of apples to eat
2022-07-07 08:55:00 【Encounter simulation volume】
1705. The maximum number of apples to eat
There's a special apple tree , One after another n God , Several apples can grow every day . In the i God , Trees grow apples[i] An apple , These apples will be in days[i] Days later ( in other words , The first i + days[i] days ) Rot , Become inedible . Maybe for a few days , New apples don't grow on trees , Use at this time apples[i] == 0 And days[i] == 0 Express .
You're going to... Every day most Eat an apple to keep a balanced diet . Be careful , You can be here n Keep eating apples after three days .
Here are two lengths for you n Array of integers for days and apples , Return the maximum number of apples you can eat .
Example 1:
Input :apples = [1,2,3,5,2], days = [3,2,1,4,2]
Output :7
explain : You can eat 7 An apple :
- The first day , You eat the apples that grow on the first day .
- the second day , You eat an apple that grows the next day .
- On the third day , You eat an apple that grows the next day . After this day , On the third day, the apple has rotted .
- From day four to day seven , You eat apples that grow on the fourth day .
Example 2:
Input :apples = [3,0,0,0,0,2], days = [3,0,0,0,0,2]
Output :5
explain : You can eat 5 An apple :
- From day one to day three , You eat apples that grow on the first day .
- No apples for the fourth and fifth days .
- The sixth and seventh days , You eat apples that grow on the sixth day .
Tips :
apples.length == n
days.length == n
1 <= n <= 2 * 104
0 <= apples[i], days[i] <= 2 * 104
Only in apples[i] = 0 when ,days[i] = 0 It was established.
source : Power button (LeetCode)
link :https://leetcode-cn.com/problems/maximum-number-of-eaten-apples
Copyright belongs to the network . For commercial reprint, please contact the official authority , Non-commercial reprint please indicate the source .
Code :
import heapq
from leetcode_python.utils import *
class Solution:
def __init__(self):
pass
def eatenApples(self, apples: List[int], days: List[int]) -> int:
remains = []
index = res = 0
length = len(days)
while remains or index<length:
while remains and remains[0][0]<=index:heapq.heappop(remains)
if index<length and apples[index]:heapq.heappush(remains,[days[index]+index,apples[index]])
if remains:
if remains[0][1]>1:remains[0][1]-=1
else:heapq.heappop(remains)
res+=1
index+=1
return res
def test(data_test):
s = Solution()
data = data_test # normal
# data = [list2node(data_test[0])] # list turn node
return s.eatenApples(*data)
def test_obj(data_test):
result = [None]
obj = Solution(*data_test[1][0])
for fun, data in zip(data_test[0][1::], data_test[1][1::]):
if data:
res = obj.__getattribute__(fun)(*data)
else:
res = obj.__getattribute__(fun)()
result.append(res)
return result
if __name__ == '__main__':
datas = [
[[1,2,3,5,2],[3,2,1,4,2]],
]
for data_test in datas:
t0 = time.time()
print('-' * 50)
print('input:', data_test)
print('output:', test(data_test))
print(f'use time:{
time.time() - t0}s')
remarks :
GitHub:https://github.com/monijuan/leetcode_python
CSDN Summary : Simulation volume Leetcode Summary of questions _ Paper blog -CSDN Blog
You can add QQ Group communication :1092754609
leetcode_python.utils See the description on the summary page for details
First brush questions , Then generated by script blog, If there is any mistake, please leave a message , I see it will be revised ! thank you !
边栏推荐
- Original collection of hardware bear (updated on June 2022)
- 求有符号数的原码、反码和补码【C语言】
- Analysis of abnormal channel number information before and after AGC re signature service
- LeetCode 715. Range module
- Skills that testers must know: Selenium's three waiting ways are interpreted clearly
- OpenGL帧缓冲
- Pointer advanced, string function
- 硬件大熊原创合集(2022/06更新)
- Greenplum6.x重新初始化
- 实现自定义内存分配器
猜你喜欢
数据分析方法论与前人经验总结2【笔记干货】
A bug using module project in idea
使用Typora编辑markdown上传CSDN时图片大小调整麻烦问题
数据分片介绍
面试题:高速PCB一般布局、布线原则
Greenplum 6.x build_ install
Explain Huawei's application market in detail, and gradually reduce 32-bit package applications and strategies in 2022
Synchronized underlying principle, volatile keyword analysis
let const
LeetCode 736. LISP syntax parsing
随机推荐
Analysis of abnormal channel number information before and after AGC re signature service
Analysis of using jsonp cross domain vulnerability and XSS vulnerability in honeypot
Un salaire annuel de 50 W Ali P8 vous montrera comment passer du test
指针进阶,字符串函数
Alibaba P8 teaches you how to realize multithreading in automated testing? Hurry up and stop
Led analog and digital dimming
Greenplum6.x重新初始化
MAC OSX php dyld: Library not loaded: /usr/local/xxxx. dylib
JS operation
面试题:高速PCB一般布局、布线原则
channel. Detailed explanation of queuedeclare parameters
Pointer advanced, string function
Digital triangle model acwing 1027 Grid access
年薪50w阿里P8亲自下场,教你如何从测试进阶
Several methods of calculating the average value of two numbers
硬件大熊原创合集(2022/05更新)
阿里p8手把手教你,自动化测试应该如何实现多线程?赶紧码住
PPT模板、素材下载网站(纯干货,建议收藏)
Sign and authenticate API interface or H5 interface
Synchronized underlying principle, volatile keyword analysis