题解 | #分糖果问题#

分糖果问题

https://www.nowcoder.com/practice/76039109dd0b47e994c08d8319faa352

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# pick candy
# @param arr int整型一维数组 the array
# @return int整型
#
class Solution:
    def candy(self , arr: List[int]) -> int:
        ans = 1
        num = 1
        spl = 0
        spl2 = 1000
        pre = arr[0] 
        for i in arr[1:]:
            if(i == pre):
                num = 1
                spl = 0
                spl2 = 1000
            else:
                spl = spl +1
                if(i > pre):
                    num = num+1
                else:
                    if(num == 1):
                        num = 1
                        ans = ans + spl
                        if(spl2 <= spl +1):
                            ans = ans + 1
                    else:
                        spl2 = num
                        num = 1
                        spl = 0
                        
            ans = ans + num
            pre = i
        return ans

人生苦短,我用python。

这题很简答,就是容易脑抽踩坑。

首先相同的就相当于重置(可以当作分开的两段),

下一个更大,那么至少+1,

下一个更小,下意识的是不是觉得应该-1?其实不是,下一个直接设定为1。【1】这样才是最小的。

但如果已经是1呢?那么下一个才是1,之前的都要+1。

不过我们需要输出的值是总和,所以我们只要知道前面有多少个元素需要+1即可。

当下行数量小于上一次【1】执行的数字时,该数字后面的全部+1;

如果大于等于,那么这个数字也要+1,换句话说就是额外+1。

以上就是全部的思路了。这样可以做到一遍解决问题,不需要存储额外的数组。

当然了,官方的代码更加不烧脑,做题用那种估计更快更准确。存下结果,正反处理两遍即可。

#日常刷题#
全部评论

相关推荐

2025-11-28 11:13
门头沟学院 游戏策划
真顶不住了兄弟们…11&nbsp;月底了,秋招投了仨月,还是&nbsp;0offer,纯纯陪跑选手。从&nbsp;8&nbsp;月底就开始瞎忙活,前俩月还会为了面试挂掉崩溃到睡不着,现在心里早就没波澜了,跟一潭死水似的。不知道从啥时候起,也不焦虑了,就剩摆烂和逃避现实&nbsp;——&nbsp;简历不想改,面试题不想刷,连打开招聘软件的劲儿都没了。中间撑着我往下走的,其实是那点自我安慰:每次收到面试邀约,都告诉自己&nbsp;“挂了也没事,就当练手”,好歹能趁着准备的功夫捋捋项目逻辑,优化下面试话术,只要有进步,总能撞上一个机会。说实话也确实有点变化,从一开始一面就凉,到后来能冲进二面、三面,我还以为事情在往好的方向走…&nbsp;结果后面零星几个面试,又是一面挂、二面挂,无限循环。原来我以为的&nbsp;“进步”,根本就是自我感动的幻觉,说白了就是原地踏步。我到底收获啥了?面试还是那么拉胯,花了无数时间准备材料、练话术、做&nbsp;PPT,到最后连展示的机会都没有,每次都是不明不白被拒,纯属瞎忙活。现在彻底没面试邀约了,希望没了,动力也泄了,只剩下迷茫、麻木,还有点面试&nbsp;PTSD——&nbsp;一想到要面试就犯怵。我承认自己可能不够努力,但每次有机会的时候,我是真的拼尽全力去准备了啊。我还想再挣扎一下,还不想就这么放弃,但现在是真的没头绪了…&nbsp;到底还能做点啥,才能把这秋招的烂摊子盘活啊?
牛客77447303...:老哥没事,我去年双非硕没找到,今年毕业后这个月才接着找,半个月就找到了,给我的感觉就是企业都是需要尽快入职的(至少小企业是这样)。所以不要慌,毕业后社招也许能更快找到工作。
十一月总结
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务