这一题就是针对每一个spell找一下potion里面有多少个大于success / spell的元素即可。对potions进行排序之后用一个二分查找即可快速地进行实现。
这周的两个比赛也是有点伤,都是大佬们只需要7、8分钟就能搞定的题目,我硬是两个第四题都没有想到好的思路,最后都是看了其他大佬们的解答才搞定的,然后发现这两题都只需要几行,就很伤……
找到每一个单词的pattern,然后将唯一一个pattern不同string挑选出来返回即可。
这一次题目倒是都搞定了,不过没有参加比赛,赛后做题终归是比较轻松一些。错了挺多次的,基本算是面向bug做题了,所以整体还是感觉有点伤,不过anyway,能把4道题都搞定了就好。
这一题稍微复杂一点,我的思路来说的话就是首先找到每一辆车上上去的人到达的时间,然后倒着找回去,找到第一个能够坐上去且不会和别人重复的时间点就行了。
https://leetcode-cn.com/contest/biweekly-contest-53/problems/substrings-of-size-three-with-distinct-characters/
给你一个 有序 数组 nums ,它由 n 个非负整数组成,同时给你一个整数 maximumBit 。你需要执行以下查询 n 次:
这一题没啥,就是当满足与前一个字符不同或者前一个字符连续出现的个数不多于2时就保留该字符,否则跳过,然后重组字符即可。
这一题思路很直接,就是统计一下两个string种所有字母的个数,然后一一比较两者之间的差值。
这一题其实还好,就是把所有的有效区间按序排列一下,然后看一下中间有没有gap,然后最后得到的区间的大小能否覆盖住目标区间即可。
这一题思路其实还好,其实就是找到最大的k个数,然后构成一个子集进行输出,但是需要注意的是,返回的序列需要保持其原始的顺序,因此我们在排序时需要首先保留其原始的位置信息,然后根据位置信息恢复其原始的排序。
这一题解题思路还是非常直接的,就是把每一个句子进行一下分词,然后统计一下每个句子当中的单词个数,然后返回最大值。
这一题我做的算是比较繁琐的,不过思路还是比较清晰的,因为横竖就两种可能性,一种是凹陷的情况,一种是凸出的情况,对这两种情况分别进行一下考察即可。
这一题思路上是比较直接的,就是看连续的k个元素当中有多少个W的元素,遍历所有长度为k的窗口,找到其中的最小值即可。
五一第一天,结果就水过去了,啥正事都没干,健身房也没去,晚上的比赛也偷懒没参加,真的是负罪感满满……
这一题我们的思路是非常的简单粗暴的,即简单地先做一个数量统计,然后找出只出现过一次的item,最后返回第k个。
这一题思路上来说并不复杂,就是对每一个出现的字符的个数进行统计,然后看一下是否可以删除其中某一个字符中的一个元素使得所有出现的字符频次相同。
好久没有打比赛了,昨天兴致所至重新去打了一下比赛,惊讶地发现我居然还能够拿到国内238,全球777的排名,还是在我最后一题一开始看错题目的前提下,也算是多少有点小开心了。
这一题其实就是考察一下区间的覆盖,我们只要先将tiles进行一下排序,然后考察以每一个tile的开头作为起点时,能够覆盖住的格数,然后取最大值即可。
这一题由于要求只能够取连续的元素中间的位置,因此,我们只需要统计连续的A和B的个数即可得到Alice以及Bob可做的操作数目。
这一题应该是有比较巧妙的方法的,不过这里我们的思路十分的暴力,直接一个二重循环搞定了……
这一题很简单,最暴力的方式就是二重循环,不过我们的解法是先统计每个元素出现的个数,然后对每一个出现的元素考察与其绝对值为k的数据的个数相乘。
CronJob即定时任务,就类似于Linux系统的crontab,在指定的时间周期运行指定的任务。比如小明每天晚上都会问候她异地的女朋友并送温暖,比如“铝盆友彩虹屁 bot”遇上 Deno定时发送邮件就依赖于 Serverless平台提供的周期触发函数功能,再比如在一些服务编排脚本中时常能看到诸如schedule: "*/1 * * * *",也许这就是 CronJob。本质上CronJob是一个调度程序,使应用程序可以调度作业在特定日期或时间自动运行。今天,我们将把CronJob集成到Deno应用程序中,有兴趣看看吗?
最暴力的解法就是三重循环,这里我们是使用二重循环然后看一下其求和结果是否是范围内的数的平方。
这题同样思路还是非常直接,对每一个用户建立一个Counter来后记录下其发送的单词数目,然后进行排序即可。
这一题的思路还是很直接的,只需要对数组中的每一个元素的个数进行一下统计,要能够成功分组,当且仅当所有元素的个数均为偶数。
这一题我的思路比较暴力,算是反其道行之吧,正常来说是考察给定的数字可以构成那些组合,但是这样得涉及到一些分类讨论问题。
这一题思路还是很简单的,用一个字典把两个item列表当中相同val的权重相加即可。
题目要求的atm就是一个greedy的atm机,不需要从所有支付算法中给出可行解,只需要greedy地从大额面钞进行取用就行,所以实现难度基本为零……
这一题思路上还是比较直接的,按照题意找出成对的|组成的pair,然后忽略掉其中的*,然后统计位置上的*即可。
这一题思路上还是比较直接的,排序一下之后前后对应元素的均值,然后统计一下其中distinct的元素个数即可。
这一题思路还是比较直接的,就是直接统计一下所有的前缀字符,然后看一下words当中各个前缀字符出现的频次,然后相加即可。
这一题我的思路其实比较暴力,因为首先就是判断是否存在某个房子两侧没有空隙,然后就是统计可以共用同一个盒子的情况,即所有的H.H.……的情况。
这题我的解题思路多少有点暴力,就是直接一个二重循环就是了,反正题目整体的复杂度也不会很高……
这一次的比赛从成绩上来看是挺满意的,国内84,世界214,挺让人满意的一个结果了,不过可惜的是依然没能把四题全部做出来,卡死在了第三题上,简直了。
题解思路:直接枚举每一个点,如果这个点的x坐标或者y坐标与目标点的对应坐标相等,则与答案取最小值,并记录下最小值的下标。时间复杂度:解题代码如下:
这一题要直接写出答案事实上感觉还是不太容易的,所幸学生的数目不会太多,最多也就100,因此,我们直接按照题目给出的排队规则来模拟一下过程就行了。
这一题由于可以允许0在开头的情况,因此整体思路上还是比较简单的,只需要把4个数字取出来,然后把两个较小的数字放在十位数上,剩下的两个较大的数字放在个位数上即可。
这一题其实就是一个排序问题,自己实现其实也可以,不过直接调用语言中自带的排序算法会更快一点。
这一题我们首先对原数组进行一下统计,然后对每一个元素进行考察,如果该元素刚好为target的开头,那么我们需要考虑以下两种情况:
首先我们将价格进行排序,然后价格最大的两个必然只能靠自费,而后我们就可以免费获得价格第三高的糖果,重复上述操作即可可到最终的答案。
从左往右,从上往下依次遍历,当找到一个非零的元素,就将其视为一个farmland的左上角,然后找到其右上角,并通过其找到对应的右下角即可确定矩形,然后将这个矩形的元素全部进行修改即可避免重复操作。
这一题我的思路挺暴力的,就是先用一个list重新记下所有的val,然后就可以快速地找到所有的pair了,就可以找最大值了。
昨天本来身体有点不舒服,就借口颓废了一整天,除了看剧啥事没干,想着比赛就算了吧,结果晚上还是没能逃过罪恶感,还是参加了一下,本来觉得就这状态估计要挂,结果居然打出了历史最好成绩,全球157名,国内51名,真的是意外之喜。
题目一依然没啥好多说的,就是遍历长度为3的窗口,然后看一下其中各元素相异的三元序列的数目即可。
第一题就没啥好说的,用一个counter记录下每个元素出现的次数然后将只出现过一次的元素进行求和即可。
好吧,其实排名也还好,主要前三题比较简单,花了12分钟多点就搞定了,但是最后一题太难了,有点思路,但是到最后都没能真正搞出来,然后就很伤……
表示人果然来是老了,中午和同学聚餐,跑去吃日料自助,兴致所至畅饮3大杯梅酒,然后直接就给跪了,当时没啥反应,吃完回来之后发现头晕脑涨,一觉睡到晚上快8点,回去之后还是晕乎乎的,饭都不怎么吃得下,硬塞了一碗泡面之后躺在床上瞬间就觉得天旋地转,最终还是放弃了做比赛,估计周日的比赛也是呵呵了……
初始位置为a,然后移动可以顺时针和逆时针两方向,我们将其进行一下代码语言翻译即可。
这一题的思路还是挺直接的,只要先找到与给定点存在至少一个坐标相同的点,然后对其按照曼哈顿距离进行排序,然后取第一个元素即可。
领取专属 10元无门槛券
手把手带您无忧上云