LeetCode笔记:Biweekly Contest 47 比赛记录

matlab/simulink saw谐振器仿真,基于Matlab的SAW模态耦合模型的仿真研究 第32卷 第 4 期Vol. 32 No. 4重 庆 理 工 大 学 学 报 (自然科学)Journal of Chongqing University of Technology( Natural Science)2 0 1 8年 4 月Apr. 2018doi : 10.3969/j . issn. 1674-8425(z). 2018.04.002本文引用格式 :李志鹏,马龙祥,孟旭,等•基... 阅读详情

0. 赛后总结

感觉上一次真正的参加比赛好像已经隔了好久,这次总算是重新参加了比赛,不过名次就是很一般般啦,毕竟第四题遇到超时没能做出来,国内没能进入前5%,不过世界范围内倒是进入了前5%,唉,希望后续可以再接再厉吧……

1. 题目一

给出题目一的试题链接如下:

1. 解题思路

这一题的思路还是挺直接的,只要先找到与给定点存在至少一个坐标相同的点,然后对其按照曼哈顿距离进行排序,然后取第一个元素即可。

2. 代码实现

给出python代码实现如下:

class Solution:
    def nearestValidPoint(self, x: int, y: int, points: List[List[int]]) -> int:
        plist = [(xx, yy, idx) for idx, (xx, yy) in enumerate(points) if x == xx or y == yy]
        if plist == []:
            return -1
        plist = sorted(plist, key=lambda p: (abs(x-p[0])+abs(y-p[1]), p[2]))
        return plist[0][2]

提交代码评测得到:耗时832ms,占用内存19.4MB。

当前最优的算法实现耗时736ms,其算法思路和我们并无本质区别,就对其进行过多展开了。

2. 题目二

给出题目二的试题链接如下:

1. 解题思路

这一题由于同一阶的幂只能使用一次,因此,我们可以直接使用贪婪算法进行原数的分解,即如果 3 k < = n < 3 k + 1 3^k <= n < 3^{k+1} 3k<=n<3k+1,那么一定会拆解为 n = 3 k + m n = 3^k + m n=3k+m,然后进一步对m进行拆分,且显然有 m < 3 k m < 3^k m<3k。

基于此,我们就可以快速地给出该题的算法实现。

2. 代码实现

给出python代码实现如下:

class Solution:
    def checkPowersOfThree(self, n: int) -> bool:
        if n <= 1:
            return True
        k = int(log(n, 3))
        m = 3**k
        if n - m < m:
            return self.checkPowersOfThree(n-m)
        else:
            return False

提交代码评测得到:耗时28ms,占用内存14MB,为当前最优算法实现。

3. 题目三

给出题目三的试题链接如下:

1. 解题思路

这一题坦率地说虽然比赛的时候我是做出来了,但是解法无论如何也谈不上优雅,因为是一个二层循环的暴力检索,唯一的优化点在于对字符频数统计的优化,算是将三层循环减到了二层,但是本质上来说还是感觉非常的繁琐,这里就不多展开了,估计大家看了代码也就一目了然了,后续还是想看一下别人有没有更好的思路。

2. 代码实现

给出python代码实现如下:

class Solution:
    def beautySum(self, s: str) -> int:
        n = len(s)
        cnt = [[0 for _ in range(26)] for _ in range(n+1)]
        for i in range(n):
            for j in range(26):
                cnt[i+1][j] = cnt[i][j]
            cnt[i+1][ord(s[i])-ord('a')] += 1
        
        res = 0
        for i in range(n-1):
            for j in range(i+2, n+1):
                c = [x-y for x, y in zip(cnt[j], cnt[i]) if x - y != 0]
                _max = max(c)
                _min = min(c)
                if _max != _min:
                    res += _max - _min
        return res

提交代码评测得到:耗时7260ms,占用内存14.6MB。

看了一下目前的解法,基本都是和我一样使用二层循环的,后续有兴趣的读者可以自行考察一下是否有更为优雅的解法,这里暂时就不多做展开了。

4. 题目四

给出题目四的试题链接如下:

1. 解题思路

这一题比赛的时候遇到了超时问题,死活搞不定,赛后想了好久也没有想出结果,原因在于一直局限于在考虑点对之间距离关系,想着是把所有点对的距离求出来之后然后用二分搜索来降低每一个query的计算复杂度,殊不知光是求一个点对的距离关系事实上就直接导致了超时。

赛后看了一下别人的解法,发现他们的思路非常巧妙,因为暴力计算点对肯定会超时,那么就针对每一个query直接计算所有的点对组合数目使得两者之后大于query,然后再遍历一下边来去除掉一些由于边的问题导致实际结果不满足query的答案。

2. 代码实现

给出python代码如下:

class Solution:
    def countPairs(self, n: int, edges: List[List[int]], queries: List[int]) -> List[int]:
        pcnt = [0 for _ in range(n+1)]
        ecnt = defaultdict(int)
        for u, v in edges:
            pcnt[u] += 1
            pcnt[v] += 1
            u, v = (u, v) if u < v else (v, u)
            ecnt[(u, v)] += 1
        plist = sorted(pcnt[1:])
        
        def fn(q):
            res = 0
            for i, d in enumerate(plist):
                idx = bisect.bisect_right(plist, q-d)
                if idx <= i:
                    res += n-idx-1
                else:
                    res += n-idx
            res = res // 2
            for u, v in ecnt:
                if pcnt[u] + pcnt[v] > q and pcnt[u] + pcnt[v] - ecnt[(u, v)] <= q:
                    res -= 1
            return res
        
        return [fn(q) for q in queries]

提交代码评测得到:耗时3416ms,占用内存61.4MB。属于当前的最优算法解答。

别再一个个BAPI调了!用CVI_EI_INBOUND_MAIN一次性搞定SAP BP主数据(附完整ABAP代码) 本文详细介绍了如何使用SAP标准函数CVI_EI_INBOUND_MAIN高效维护业务伙伴(BP)主数据,替代传统的多BAPI调用方式。通过完整ABAP代码示例,展示了如何一站式处理供应商、客户、公司代码等所有视图的创建与更新,提升数据一致性和开发效率。 阅读详情

相关推荐

从零到一:桌面宠物的硬件架构设计与工程实践

本文详细介绍了基于STM32F103C8T6主控平台的桌面宠物机器人硬件架构设计与工程实践。内容涵盖电源管理、舵机控制、PCB布局及系统调试等核心环节,为硬件爱好者提供从零到一的完整开发指南,助力打造稳定可靠的智能桌面伴侣。

alice7model的博客 1112

LeetCode笔记:Biweekly Contest 42 比赛记录

LeetCode笔记:Biweekly Contest 42 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 0. 赛后总结 唉,前两周刚和同学吹牛说现在leetcode的比赛基本都能在前10%,发挥好的话能争国内前100,然后这周转头就被打脸,打得啪啪响,国内320/1578,世界1023/6631,连前20%都没卡进..

codename_cys的博客 1720

无人机信号干扰系统设计方案

设计定向阻塞干扰器需要结合射频(RF)技术、功率放大技术和定向天线技术,核心目标是向特定方向发射高功率噪声信号,覆盖目标频段,阻断无人机的通信或导航信号。实际设计中需平衡功率、效率、散热和便携性,同时需考虑抗干扰技术的快速演进(如无人机加密通信和AI避障)。在合法框架下,此类设备可有效应对“黑飞”威胁,但技术滥用风险需严格管控。定向阻塞干扰器的硬件设计核心在于。

wanghao312的博客 3060

LeetCode笔记:Biweekly Contest 41 比赛记录

LeetCode笔记:Biweekly Contest 41 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 3. 算法优化 0. 赛后总结 唉,这次又只做出三道题,最后一题一直卡死在了超时问题上,到最后就放弃了,思路上实在不知道还能有什么更好的思路。 最终的排名还是没能挤进国内前一百(108/1660),不过108的数..

codename_cys的博客 300

蓄热式加热炉燃烧技术

蓄热式加热炉燃烧技术

weixin_37928884的博客 2733

Windows7 64位系统PL2303驱动无法安装问题解决

问题描述:电脑安装的是Win7 64位的旗舰版,USB to RS232这种线很简单,对于笔记本如果要用串口,就不能少了它了。USB to RS232转换芯片种类繁多,常见的有ch340,0108,PL2303,FT232等,这里面FT232的应该价格是相对比较贵的,因为FTDI的芯片本身比较贵。由于买了一根PL2303芯片的USB to RS232转换线,于是插上后发现驱动无法安装,又是在设备管

suxiang198的博客 5809

LeetCode笔记:Biweekly Contest 33 比赛记录

LeetCode笔记:Biweekly Contest 33 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 0. 赛后总结 这次的比赛运气不错,赛题比较简单,因此也都把题目搞定了,虽然第一题大意失荆州错了一次,但是整体排名还是首次突破了前500的,实在是非常的幸运。 如果这样的表现能是常态的话那就一本满足了,LOL 1..

codename_cys的博客 324

手把手教你用Simulink搭建DSOGI-PLL模型(附完整代码下载)

本文详细介绍了在Simulink中搭建高鲁棒性DSOGI-PLL模型的完整工程实践指南。针对传统锁相环在非理想电网下的不足,文章深入剖析了双二阶广义积分器锁相环(DSOGI-PLL)的核心原理与优势,并提供了从模块构建、系统组装到参数整定与测试验证的全流程手把手教程,附有完整代码下载,助力工程师应对谐波、电压跌落等复杂电网工况。

weixin_29223603的博客 388

LeetCode笔记:Biweekly Contest 36 比赛记录

LeetCode笔记:Biweekly Contest 36 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 0. 赛后总结 昨天本来身体有点不舒服,就借口颓废了一整天,除了看剧啥事没干,想着比赛就算了吧,结果晚上还是没能逃过罪恶感,还是参加了一下,本来觉得就这状态估计要挂,结果居然打出了历史最好成绩,全球157名,国内..

codename_cys的博客 267

如何在STM32上5分钟搞定nanopb协议传输?附完整代码示例

本文提供了在STM32微控制器上快速集成nanopb协议传输的实战指南。通过详细的步骤,从.proto文件定义、代码生成到STM32CubeIDE项目移植,帮助开发者利用nanopb这一轻量级Protocol Buffers C语言实现,在5分钟内构建高效、跨平台的嵌入式设备通信框架,并附有完整的代码示例。

jwt8token的博客 839

QT5.12.1报错:1. clang++:error: :fatal error andriod Input/output error

QT5.12.1报错:1. clang++:error: :fatal error andriod Input/output error 解决方式: 1.qt程序不要放在共享目录下编译,直接拷贝到ubuntu系统中编译 2.修改/home/xt/Qt5.12.1/5.12.1/android_armv7/mkspecs/android-clang中 #QMAKE_LINK = QMAKECXXQMAKE_CXX QMAKEC​XXQMAKE_CFLAGS -Wl,–exclude-libs,libgc

xt18971492243的博客 737

LeetCode笔记:Biweekly Contest 37 比赛记录

LeetCode笔记:Biweekly Contest 37 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 3. 算法优化 4. 题目四 1. 解题思路 2. 代码实现 0. 赛后总结 这一次的比赛真心是五味陈杂,看排名吧,也不算低,国内200,全球500多点,也不算差,即使考虑到晚场的参赛人数少一点,也多少在前10%靠近前5%,不算是个太丢脸的成绩。 但是,无论..

codename_cys的博客 308

【Claude】组织级认证限制报错已解决(4 种)

报错被禁用的是什么谁能解除应急方案整个 Console 组织Anthropic 支持换账户 / 订阅凭证API key 认证方式你的组织管理员用订阅/login订阅 OAuth 登录你的组织管理员用 API keyRoutines 功能你的组织所有者手动计划任务替代共同排查模式/status确认当前凭证;检查环境变量;看清报错消息里命名的是什么(key?组织访问?),对症清除;管理员层面的限制,找管理员解锁。

博客 1万+

LeetCode笔记:Biweekly Contest 40 比赛记录

LeetCode笔记:Biweekly Contest 40 比赛记录 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 0. 赛后总结 这次的比赛也算是把我震惊到了,前三题都把条件设置的即为简单,以至于几乎不用考虑什么特殊边界条件的情况,导致整体问题难度就下降了好多,第四题其实还是有点麻烦,真要想一个好的动态规划算法反正..

codename_cys的博客 477

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

LeetCode笔记:Biweekly Contest 48 比赛记录

LeetCode笔记:Biweekly Contest 48 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 0. 赛后总结 这次的比赛算是马马虎虎吧,国内只是10%左右,世界排名稍微高一点,但是也没挤进前5%,感觉也就一般般,哎…… 比较搞笑的是,这次第四题倒是搞定了,但是第三题居然一点点思路都没有,也是奇葩的很,唉…..

codename_cys的博客 282

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

LeetCode笔记:Biweekly Contest 44 比赛记录

LeetCode笔记:Biweekly Contest 44 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 0. 赛后总结 又是只做出两题的一天,唉,心累成疾,不过所幸结果还算勉勉强强,不至于太过丢人吧,唉…… 1. 题目一 给出题目一的试题链接如下: 5645. 找到最高海拔 1. 解题思路 这一题没啥好说的,根..

codename_cys的博客 227

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

LeetCode笔记:Biweekly Contest 39 比赛记录

LeetCode笔记:Biweekly Contest 39 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 3. 算法优化 4. 题目四 1. 解题思路 2. 代码实现 3. 算法优化 0. 赛后总结 这一次的比赛从成绩上来看是挺满意的,国内84,世界214,挺让人满意的一个结果了,不过可惜的是依然没能把四题全部做出来,卡死在了第三题上,简直了。 看看别人的做法学..

codename_cys的博客 439

LeetCode笔记:Biweekly Contest 38 比赛记录

LeetCode笔记:Biweekly Contest 38 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 0. 赛后总结 这一次的比赛结果整体上还是比较满意的,毕竟4道题都搞定了,就很开心。 排名来说国内129,世界394,差不多就是前6%前7%的样子,唯一可惜的是最后一题一开始题目看错了,浪费了不少时间,否则成绩也..

codename_cys的博客 917

LeetCode笔记:Biweekly Contest 49 比赛记录

LeetCode笔记:Biweekly Contest 49 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 3. 算法优化 0. 赛后总结 表示人果然来是老了,中午和同学聚餐,跑去吃日料自助,兴致所至畅饮3大杯梅酒,然后直接就给跪了,当时没啥反应,吃完回来之后发现头晕脑涨,一觉睡到晚上快8点,回去之后还是晕乎乎的,饭都..

codename_cys的博客 229

LeetCode笔记:Biweekly Contest 43 比赛记录

LeetCode笔记:Biweekly Contest 43 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 3. 算法优化 0. 赛后总结 这一次的比赛整体上还算是顺利吧,虽然也只做出了三题,还错了两次,不过比较前两周的成绩,呵呵,总也算是一个比较开心的事了吧。。。 不过这次终究还算是运气好,大约是最后一题比较难的缘故..

codename_cys的博客 355

LeetCode笔记:Biweekly Contest 52 比赛记录

LeetCode笔记:Biweekly Contest 52 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 0. 赛后总结 这周是一周双赛,不过因为各种各样的原因两场比赛都是没有参加,赛后花了点时间做了一下,倒是总算还是都做出来了,不过没看时间就是了…… 1. 题目一 给出题目一的试题链接如下: 1859. Sort..

codename_cys的博客 576

LeetCode笔记:Biweekly Contest 34 比赛记录

LeetCode笔记:Biweekly Contest 34 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 0. 赛后总结 不知道是不是错觉,双周赛感觉是要比周赛多少简单一点,这一次的题目又是全部搞定了,总共耗时52分钟,不过错了两次,因此最终的成绩在1h,很可惜的刚好跑出了全国前100(102名),全球的成绩则为26..

codename_cys的博客 314

LeetCode笔记:Biweekly Contest 68

LeetCode笔记:Biweekly Contest 68 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 1. 题目一 给出题目一的试题链接如下: 2114. Maximum Number of Words Found in Sentences 1. 解题思路 这一题解题思路还是非常直接的,就是把每一个句子进行一下分词,然后统计..

codename_cys的博客 337

LeetCode笔记:Biweekly Contest 32 比赛记录

LeetCode笔记:Biweekly Contest 32 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 3. 算法优化 0. 赛后总结 这一次的比赛结果依然是中规中矩,35分钟搞定了3题,然后很不幸的错了两次,但是总排名还算是OK,千名以内,果然双周比赛的时间点选的太尴尬,大晚上的参赛的人数比较少。。。 看了一下大..

codename_cys的博客 302

LeetCode笔记:Biweekly Contest 35 比赛记录

LeetCode笔记:Biweekly Contest 35 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 3. 算法优化 4. 题目四 1. 解题思路 2. 代码实现 0. 赛后总结 中文的leetcode果然和我犯冲,这次比赛又是桑心的一逼,题目倒还好,虽然第二第三题卡了一会,但是好歹都做出来了,但是最坑的是第四题居然比赛的时候没做出来,然后比赛结束之后10分..

codename_cys的博客 244

LeetCode笔记:Biweekly Contest 51 比赛记录

LeetCode笔记:Biweekly Contest 51 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 0. 赛后总结 五一第一天,结果就水过去了,啥正事都没干,健身房也没去,晚上的比赛也偷懒没参加,真的是负罪感满满…… 今天倒是试着做了一下,不过没有做模拟竞赛,所以时间上估计就是超时严重,不过万幸的是题目总算还是..

codename_cys的博客 234
上一篇: LeetCode笔记:Weekly Contest 230 比赛记录
下一篇: LeetCode笔记:Weekly Contest 231 比赛记录
Espresso Macchiato
博客等级 码龄7年 2453粉丝 818原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值