文巾解题 1744. 你能在你最喜欢的那天吃到你最喜欢的糖果吗?
生活随笔
收集整理的這篇文章主要介紹了
文巾解题 1744. 你能在你最喜欢的那天吃到你最喜欢的糖果吗?
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?
1 題目描述
2 解題思路
我們把所有類型的糖果按照所屬類型從小到大排成一隊,每天就從前向后依次拿糖果。
那么對于query中的第i個元素,我們最少已經(jīng)吃了顆糖(因為我們是從第0天開始吃的),最多吃了顆糖。所以只要在這個區(qū)間內(nèi),有這個類型的糖,那么就滿足 條件。
而這個類型的糖的下標滿足什么條件呢?應(yīng)該是前一種糖都吃完了,自己吃到最后一顆糖的時候,也就是:
所以只要這兩個區(qū)間有交集,那么這個query就是True的,否則這個query就是False的
class Solution:def canEat(self, candiesCount: List[int], queries: List[List[int]]) -> List[bool]:type_sum=[candiesCount[0]]for i in candiesCount[1:]:type_sum.append(type_sum[-1]+i)ret=[]for i in queries:favor_type=i[0]favor_day=i[1]daily_cap=i[2]#吃糖區(qū)間eat_min=favor_day+1eat_max=(favor_day+1)*daily_cap#這個類型的糖的區(qū)間(第一類要特判)if(favor_type==0):sugar_min=0else:sugar_min=type_sum[favor_type-1]+1sugar_max=type_sum[favor_type]if(eat_min>sugar_max or eat_max<sugar_min):ret.append(False)else:ret.append(True)return(ret)?
總結(jié)
以上是生活随笔為你收集整理的文巾解题 1744. 你能在你最喜欢的那天吃到你最喜欢的糖果吗?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pytorch笔记——简易回归问题
- 下一篇: 文巾解题 1310. 子数组异或查询