将所有元素变为 0 的最少操作次数
问题描述 给定一个大小为 n 的非负整数数组 nums,我们需要通过若干次操作将数组中的所有元素变为 0。每次操作可以选择一个子数组 [i, j],将该子数组中所有最小的非负整数设为 0。目标是找到使整个数组变为 0 所需的最少操作次数。 关键思路 经过分析,发现这个问题可以通过单调栈高效解决。核心思路是: 维护一个单调递减栈,栈中元素表示需要单独处理的不同数值 当遇到比栈顶元素小的数字时,需要先处理掉栈顶元素(弹出并计数) 最终栈中剩余的元素也需要各自处理 算法实现 12345678910111213141516171819class Solution: def minOperations(self, nums: List[int]) -> int: stack = [] # 单调递减栈 operations = 0 # 操作计数器 for num in nums: # 当栈不为空且栈顶元素大于当前元素时 while stack and s...
单调栈
单调栈算法 单调栈是一种特殊的数据结构,分为单调递增栈和单调递减栈,保证元素从栈顶到栈底的单调性。单调栈常用于在O(n)O(n)O(n)的时间复杂度内寻找序列中某些元素的相邻元素,如左侧第一个更大/更小的元素等。 单调递增栈 单调递增栈的特点是从栈顶到栈底的元素是单调递增的。只有比栈顶元素小的元素才能直接进栈,否则需要先将栈中比当前元素小的元素出栈,再将当前元素入栈。这样就保证了栈中保留的都是比当前入栈元素大的值。 代码示例 1234567891011121314def monotoneIncreasingStack(nums):stack = []for num in nums:while stack and num >= stack[-1]:stack.pop()stack.append(num)return stack 单调递减栈 单调递减栈的特点是从栈顶到栈底的元素是单调递减的。只有比栈顶元素大的元素才能直接进栈,否则需要先将栈中比当前元素大的元素出栈,再将当前元素入栈。这样就保证了栈中保留的都是比当前入栈元素小的值。 代码示例 123456789101112...
11.9 日常| 默默耕耘中
今天是周日,放任自己暂别课业,在英雄联盟中消磨时光,等待下午在成都举行的全球总决赛。 比赛异常精彩,最终,恭喜 T1 拿下队史第六冠,Faker成就个人三连冠。当金色的雨为他们落下,屏幕内外皆是山呼海啸——这是电竞的魔力,也是坚持的回报。 激动过后,是安静的阅读时光。 今天读完了《质数的孤独》。合上书页,心里萦绕着那句: “我看见你,却试图不看你;我闭上眼,你却来到我的身边。” 我在想,如果马蒂亚和爱丽丝能再勇敢一点,再坦诚一点,把那些欲语未言的话全都说出口,结局会不会不一样? 因为害怕吐露真心,他们错过了一次;又因为自以为成全了对方的幸福,他们再次错过。他以为她尚未离婚,她以为他在她心中只占一隅。 哎。他们就像数学中那一对不断接近却永不相邻的质数,明明是灵魂最近的人,却隔着一道无法跨越的、名为“沉默”与“误解”的距离。 今天的报纸阅读,是关于嘉兴桐乡濮院的互联网生活嘉年华。游客们可以在那里体验各式各样的数字活动——世界在热烈地向前,而总有人在某个安静的角落,咀嚼着属于两个人的、漫长的错过。 今天,是在盛大的狂欢与静默的独白之间,轻轻走过的一天。 我们都在学习勇敢,只是有些人...
《无姓之人》:在无限可能中,寻找唯一的真实
在2092年,当宇宙走向坍缩的终点,男主角尼莫的生命也随之终结。然而,死亡亦是新生——他重新经历了自己的一生,并在每一个抉择的岔路口,看见无数种可能的未来如枝叶般分叉、蔓延。 初次观看《无姓之人》,或许会感到些许纷乱。但耐心走下去,你会发现这是一部结构高度完整的作品。导演以精巧的叙事织出一张时间的网,在影片结尾,将所有伏笔一一收回。 电影建立在两个迷人的设定上:“维度交叉使矛盾事件同时发生”与“蝴蝶效应”。我们跟随尼莫,看他如何在爱情的站台、家庭的变故、人生的关口做出不同选择,从而展开截然不同的生命图景——某种程度上,这像极了一部沉浸式的“人生模拟器”。 影片探讨的层次极为丰富: 因果的倒置与重构:真实世界往往“种因得果”,而电影中的宇宙却常常“先果后因”。尼莫在终点望尽所有结局,而每一种结局,又反过来定义了他所经历的“因”。 对自我选择的尊重:影片告诉我们,人生虽有无尽可能,但每一条路都有其意义。我们无法像尼莫那样预知所有结局,只能在“一命通关”的模式下,真诚地做出每一次选择,并尊重由此展开的生活。 何为真实的诘问:我们所以为的“现实”,究竟是真实发生的叙事,还是意...
11.8 日常 | 考试、电影与质数的距离
上午十点参加了C2考试,过程比预想中顺利。结束后回到寝室,在游戏里放松片刻,随后看完了《无姓之人》,并写下一篇影评。那穿梭于平行人生中的抉择与遗憾,仍在脑海里微微发烫。 午后,翻开《质数的孤独》。今天读到马蒂亚正在思考是否要接受国外的工作机会。这位带着自毁倾向的数学天才,习惯用沉默筑起高墙,在周身划出一道深渊,既保护自己,也隔绝他人。而女主角爱丽丝,则在家庭的影响下变得自卑又渴望被爱。 他们在一次聚会中相识,迅速察觉到彼此灵魂里相似的孤独频率。像是数学中两个相邻的质数,他们能清晰地看见对方,理解那份与生俱来的疏离,却始终隔着一道无法跨越的偶数距离——如此相近,又无法真正靠近。 今天的英文短报是一则简讯:关于推动大湾区进一步的改革开放。世界的运转从未停歇,而个体的孤独与联结,也在每一个角落静静发生。 今天,是从考场的确定性,到电影的无限可能,再到书页间微妙情感的一天。我们都是各自的质数,在茫茫数轴上,寻找着能理解这段距离的人。
写给十年前的自己
过去早已过去,未来只在未来,而现在仅存于过去与未来交叉的一瞬,而我站在这神奇的点时间上缅怀过去。寄情思于过去之自己,十年后的你并不一定如你当初所想的潇洒自在,但也绝没有忘记初心。所以就大胆地做自己一点吧,勇敢一点去表达情感去抒发所思,岁月从不许诺坦途,但它会记得所有不曾背叛自己的灵魂。
11.7 日常 | 立冬,福建舰,与“良质”的完成
今日立冬。 “立,建始也;冬,终也,万物收藏也。” 节气流转至此,生气渐收,万物开始休养与贮藏。我们也该更加关照自己的身体,顺应天时,静养蓄力。 今天也是福建舰正式入列的日子。看见祖国在深蓝航道上稳步向前,心中自然升起一份踏实与期盼——愿她越来越强大。 早晨以“写给十年前的自己”为题,进行了一次创作。回望来路,时光无声,却处处是回响。 午间完成了算法作业,在逻辑与代码中穿行,也是一种思维的整理。 下午的数据挖掘课上,老师提到“AI无法真正判断谁是真正优秀的学生”。那一刻,我忽然想到《禅与摩托车维修艺术》中反复探讨的“良质”——或许,“良质”正是我们判断一个人是否优秀的真正基石,那是超越数据与指标的、属于人的温度与光芒。 今晚,我读完了《禅与摩托车维修艺术》。合上书页,内心仍被震撼着。 在第四章中,作者深入希腊哲学的腹地,批判亚里士多德的思想体系,指出智者学派所传授的并非“美德”,而是“卓越”。他认为,亚里士多德的哲学未必优于古希腊早期的思想。我对哲学史了解不深,无法妄作评判,但我认同他所说的:理性并不优于情感。古典认知孕育了科学,浪漫认知造就了艺术,但二者并非对立,而是可以在人的...
11.6 日常 | 体测、斐德罗与未完成的良质
今天又是被课程填满的一天,走出实验室时,已是晚上八点半。不过有个小小的惊喜:50米体测跑出了6.97秒,比去年快了一秒——身体的进步,有时比思想的跃迁更让人感到踏实。 在断续的时间里,我勉强读到了《禅与摩托车维修艺术》的第四章。关于“良质”的探讨愈发深入,也愈发令我感到理解之难,却又感慨万分。 作者提出一个观点:我们并未“发现”真理,而是“定义”了最接近它的约定。 读到此处,我忽然想起那句“工于技,趋于道”——技艺的尽头是道路的开启。我早该想到的,作者在前文已埋下伏笔。 他进一步指出,在追求良质的路上,人应当保持专注、热忱、安静、谦逊与远望。我深以为然。这不仅是一种哲学态度,也是一种生命状态的修炼。 第四章的开篇,出现了一个迷人的转折:作者终于意识到,他潜意识中那个不断与他对话的“斐德罗”,正是他自己。斐德罗重回人间——这个身份的揭示,让我对后续的旅程充满好奇。 今天的英文短报,关注的是海南三亚自由贸易区的设立。一个更加开放的海南自由贸易港,必将为国家的未来发展注入新的活力。 从跑道上的秒表,到书页间的哲思,再到远方的经济蓝图,今天依然是在多重维度间穿行的一天。良质尚未完全显现,...
11.5日常|“良质”是否真的存在?
今天醒来时,已是中午十二点。放任自己在游戏世界里漫游,直到傍晚五点多。饭后去实验室打了个卡,随后便沉入今日的阅读时光——继续《禅与摩托车维修艺术》。 第三章的阅读并未如预期般顺利,它比我想象中更难捉摸。但我仍从中捕捉到一些闪烁的灵光:我们应当为知识本身而学习,不为其它外在目的,并始终保持终身学习的姿态。 作者在这一部分提出了一个极为重要的观点:“良质是心与物的起源”。他在现代哲学“物质决定精神还是精神决定物质”的二元对立中,开辟了第三种可能。斐德罗拒绝定义“良质”,而我从文字间理解的“良质”,是一种协律——一种使万物(无论是心还是物)保持和谐状态的内在韵律。 正因为它的存在,艺术才得以诞生,世界也由此被划分为“古典的认知”与“浪漫的认知”。它不可言说,却无处不在;它不被定义,却统摄着我们对美的感知、对真的追寻。 阅读间隙,我也照例看了一篇英文短报。今天的内容关于中国空间站投入使用1000多天的现状与成果。从地面的哲学沉思,到苍穹之外的科技脚步,人类对“良质”的追求,或许从未止息。 今天,是从慵懒放松,走向思维深处的安静一日。良质无声,却让一切渐渐和谐。
贝叶斯分类法
贝叶斯定理 p(X∣Y)=p(Y∣X)p(X)p(Y)p(X|Y)= {p(Y|X)p(X)\over p(Y)} p(X∣Y)=p(Y)p(Y∣X)p(X) 贝叶斯在分类中的应用 设X 为属性集,Y表示类变量。如果类变量和属性之间的关系不确定,那么我们可以把X和Y看作随机变量,用p(Y|X)以概率的方式捕捉两者之间的关系。这个条件概率又称为Y的后验概率,与之相对的,p(Y)称为Y的先验概率 在训练阶段,我们要根据从训练数据中收集的信息,对X和Y的每一种组合学习后验概率P(Y|X)。知道这些概率后,通过找出使后验概率P(Y’|X‘)最大的类Y’可以对测试记录X’进行分类。 朴素贝叶斯分类器 给定类标号y,朴素贝叶斯分类器在估计类条件概率时假设属性之间条件独立。条件独立假设可形式化地表述如下: P(X∣Y=y)=∏i=1dP(Xi∣Y=y)P(X|Y=y)=\prod_{i=1}^d{P(X_i|Y=y)} P(X∣Y=y)=i=1∏dP(Xi∣Y=y) 其中每个属性集X=X1,X2,...,Xd包含d个属性其中每个属性集X={X_1,X_2,...,X_d}包含d个...












