LeetCode笔记:Weekly Contest 213 比赛记录

K型热电偶分度表读取方法 阅读详情

0. 赛后总结

这一次的比赛从排名上来说还算是OK,国内324,世界977,勉强算是挤进了前1000,不过过程上来说就是很不爽。

第三第四题一开始都想岔了,结果两个一开始都是遇到了超时问题,万幸第四题后来修改思路倒是改回来了,但是第三题想到正确思路的时候已经快没啥时间了,最后千赶万赶也没能在结束时间之前给出正确的代码实现。

最坑的是,最后结束之后检查了一下,发现思路是完全正确的,错误的原因在于粗心码漏了一行代码,一行代码,行代码,代码,码。。。

唉,心累。

1. 题目一

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

1. 解题思路

这一题其实可以很难的,但是题目给了许多限制条件,硬生生把难度限制在了easy级别,那么我们也只需要按照easy级别的方法来做就行了:

  • 给出一个index,找到所给的pieces中以arr[index]开头的那一个,比较两者是否相同,如果不相同直接返回false,反之则更新index为加上这个piece之后的index。

2. 代码实现

给出最终的python代码实现如下:

class Solution:
    def canFormArray(self, arr: List[int], pieces: List[List[int]]) -> bool:
        cache = {}
        for x in pieces:
            if x[0] in cache:
                return False
            cache[x[0]] = x
        
        idx = 0
        while idx < len(arr):
            if arr[idx] not in cache:
                return False
            l = len(cache[arr[idx]])
            if arr[idx:idx+l] != cache[arr[idx]]:
                return False
            idx += l
        return True

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

不过当前提交的代码实现总量还不够,暂时不知道还有没有更好的代码实现,有兴趣的读者可以后续关注一下,这里就不再多做关注了。

2. 题目二

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

1. 解题思路

这一题就是一道中规中矩的动态规划题目:

  • 考察第i个字符,如果上一个使用的元音字符为k,那么可选择的元音字符就只能在其后方(含其本身),我们依次取用一遍就可以了。

2. 代码实现

给出最终的python代码实现如下:

class Solution:
    def countVowelStrings(self, n: int) -> int:
        
        @lru_cache(None)
        def dp(idx, c):
            if idx >= n:
                return 1
            elif c == 4:
                return 1
            ans = 0
            for i in range(c, 5):
                ans += dp(idx+1, i)
            return ans
        
        return dp(0, 0)

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

当前最优的代码实现耗时28ms,不过没太看懂他的思路,有兴趣的读者可以自行研究一下,这里就不再多做展开了。

3. 题目三

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

1. 解题思路

这一题拿到题目的第一反应就是一道简单的动态规划题目,简直不用动脑子就能写出递推公式,然后就超时了。。。

后来仔细分析了一下题目,显然梯子这种大招肯定是用来救火的,那么,他的使用方式就应该是:

  • 当垒砖块已经无法越过当前的壁垒时,就从之前填充的壁垒当中选取gap最大的一个壁垒,将砖块拆了使用梯子来进行替换,从而补充砖块来进行填充,直到梯子已经用尽且砖块无法填充下一个壁垒时,返回当前所在的位置即可。

2. 代码实现

给出python代码实现如下:

class Solution:
    def furthestBuilding(self, heights: List[int], bricks: int, ladders: int) -> int:
        n = len(heights)
        
        idx = 0
        gap = []
        tot_gap = 0
        while idx < n-1:
            if heights[idx+1] <= heights[idx]:
                idx += 1
            else:
                tmp = heights[idx] - heights[idx+1]
                tot_gap += tmp
                heapq.heappush(gap, tmp)
                while tot_gap + bricks < 0 and ladders > 0:
                    ladders -= 1
                    g = heapq.heappop(gap)
                    tot_gap -= g
                if tot_gap + bricks < 0:
                    return idx
                idx += 1
        return idx

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

当前还没有足够的提交结果,因此,暂时不知道当前是否还有更加优雅高效的代码,有兴趣的读者可以后续自行关注一下。

4. 题目四

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

1. 解题思路

这一题也是一开始就想岔了,开始就想着使用dfs方式去遍历所有可能的路径,然后找出第k个指令进行输出,结果就呵呵了,测试样例好像只通过了5个吧,严重超时,简直不能看。

后来仔细想了一下,因为是按照字符进行排序的,因此H一定排在V前面,那么,我们只要计算出当一次操作执行了H操作之后后面有多少条指令,是否能够包含住第K条指令就可以一步一步推导出每一步所需的指令了。

2. 代码实现

因此,我们只需要按照上述思路来一步一步推到当前每一步需要执行的操作就可以了。

给出python代码实现如下:

class Solution:
    def kthSmallestPath(self, destination: List[int], k: int) -> str:
        n, m = destination
        cnm = [[1 for _ in range(m+1)] for _ in range(n+1)]
        for i in range(1, n+1):
            for j in range(1, m+1):
                cnm[i][j] = cnm[i][j-1] * (i+j) // j

        ans = ""
        while m > 0 and k > 0:
            if k > cnm[n][m-1]:
                ans += "V"
                k -= cnm[n][m-1]
                n -= 1
            else:
                ans += "H"
                m -= 1
        return ans + "H" * m + "V" * n

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

当前最优的代码实现耗时36ms,但是看了一下他的核心解题思路和我们是完全一致的,因此这里就不再多做展开了。

512分辨率万能遮罩模型实战指南:从下载到高精度应用 本文提供了512分辨率万能遮罩模型的完整实战指南。该模型经过超过540万次迭代,专门优化了对头发、手、眼睛等复杂区域的识别。文章详细介绍了从可靠渠道下载、环境部署、使用DF_ICE工具批量应用遮罩,到利用XSeg Editor进行高精度精修的全流程,旨在帮助用户显著提升AI换脸合成视频的质量与效率。 阅读详情

相关推荐

Python 爬取新浪财经 7x24(1): 下载数据

前言 最近在做一个需要很多财经数据的项目。于是想到可不可以通过爬虫来解决(尝试白嫖)。 提供财经数据的网站有很多个,其中比较靠谱和更新比较及时的应该是新浪7x24 live数据。 http://finance.sina.com.cn/7x24/?tag=0 这个问题有一定的难度,因为这个网页是动态加载的。每一次只会加载部分数据,而只有拉到底部才可以加载新的数据。 于是乎,我们要做的事情是: 下载数据 保存到数据库 本篇介绍如何下载数据。 代码 闲言少叙书归正文,代码的实现如下: import reque

ZJ_11701的博客 2905

LeetCode笔记:Biweekly Contest 70

LeetCode笔记:Biweekly Contest 70 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 1. 题目一 给出题目一的试题链接如下: 2144. Minimum Cost of Buying Candies With Discount 1. 解题思路 这一题直接使用贪婪算法即可实现。 首先我们将价格进行排序,然后价..

codename_cys的博客 5535

ST-LINK调试STM32H743必看:CubeMX工程中缺失的这行代码导致程序跑飞

本文深入剖析了使用ST-LINK调试STM32H743时,因CubeMX工程中缺失电源电压档位配置代码而导致程序跑飞或出现“Can not access memory”错误的问题。文章解释了H7系列电源与时钟耦合的核心原理,提供了具体的代码修复方案和系统化的调试排查思路,帮助开发者从根本上解决这一常见调试困境。

weixin_29191669的博客 281

LeetCode笔记:Weekly Contest 219 比赛记录

LeetCode笔记:Weekly Contest 219 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 0. 赛后总结 这一次的比赛怎么说呢,感觉有点不尴不尬的。 要说吧,4道题也都做出来了,耗时老实说也没有特别长,不算错误惩罚的话其实也就56分钟,不到1个小时,整体虽然没有挤进国内前100,好歹也有前4%(116/..

codename_cys的博客 4819

【智驾与大模型】端到端与多模态大模型的精彩之旅

智驾和大模型的回顾与展望。开头的笔者自述也说了些心窝子话,边缘计算的监管刻不容缓!

仿生实验室:从0到1,制作人脸表情交互机器人,记录过程,软硬件全部开源,与君共襄盛举! 1320

centos7 python3.12.1 报错 No module named _ssl,坑我几个小时

网上的教程很多,但几乎是无效的,跟着我这教程,可以完美解决。

Amio_的博客 1万+

Leetcode 3629. Minimum Jumps to Reach End via Prime Teleportation

Leetcode 3629. Minimum Jumps to Reach End via Prime Teleportation

codename_cys的博客 3868

2.1 量子精密测量:SERF原子陀螺仪中的核自旋-电子自旋强耦合机制

本文深入解析了SERF原子陀螺仪中核自旋-电子自旋强耦合机制的核心原理与应用。通过量子精密测量技术,SERF陀螺仪实现了超高精度的惯性导航,其独特的磁场自补偿和拉莫尔进动特性使其在弱磁场环境下表现出色。文章还探讨了关键技术突破和前沿进展,展示了量子精密测量在惯性导航领域的巨大潜力。

kotlin6android的博客 212

LeetCode笔记:Weekly Contest 221 比赛记录

LeetCode笔记:Weekly Contest 221 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 0. 赛后总结 昨天才遭遇滑铁卢,本以为成绩已经够差了,结果转头今天就被打脸,成绩比昨天还差,国内468/3397,全球1274/8838,真的是,不想说什么了。 不过这次真心是我自找的,第三题明明是一道简单的题目..

codename_cys的博客 3303

vue使用 APlayer+Meting实现音乐播放,支持多平台音乐:网易云、腾讯、虾米、酷狗、百度

  我之前写过一篇博客:使用 APlayer 实现音乐播放器,虽然 APlayer 让我实现了想要的音乐播放器效果,但是音频列表 audio 的音频链接、音频封面、歌词等,是需要自己去补充的。   那么这些数据从哪里来呢?   我昨天有发愁一会儿会儿,也去搜了获取音乐列表的接口,可以发请求去获取数据嘛。   也有瞅见MetingJS,A powerful plugin connect APlayer and Meting,一个连接APlayer和Meting的功能强大的插件,附上GitHub地址:https

小R.的博客 4798

【IPC】ONVIF Device Manager 测试工具

介绍onvif 协议测试工具

以实战经验介绍行业知识 1961

LeetCode笔记:Weekly Contest 229 比赛记录

LeetCode笔记:Weekly Contest 229 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 0. 赛后总结 这周的比赛整体都给跪了,两场比赛都是不顺的要死,昨天的比赛还能归结到看错题目,这次的比赛就真的是没得洗了,第三题超时之后就没有更好的思路了,第四题压根没有一个可行的思路,想到的解法实现出来之后发现都..

codename_cys的博客 2468

【全局路径规划地图算法】Voronoi路径规划探索(附C++代码)

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对Voronoi路径规划探索做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。

qq_35635374的博客 2242

LeetCode笔记:Weekly Contest 206 比赛记录

LeetCode笔记:Weekly Contest 206 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 0. 赛后总结 最近不知是换到中文leetcode平台之后水土不服还是怎么样,感觉真的是到了瓶颈期了,最近几次打比赛真的是一次不如一次,做起来异常不顺手。 看了一下头部几位大佬们的做题耗时,基本都还是在10分钟左右..

codename_cys的博客 2016

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Leetcode 3600. Maximize Spanning Tree Stability with Upgrades

3600. Maximize Spanning Tree Stability with Upgrades

codename_cys的博客 1751

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

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

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Leetcode 3448. Count Substrings Divisible By Last Digit

Leetcode 3448. Count Substrings Divisible By Last Digit

codename_cys的博客 1712

Leetcode 3537. Fill a Special Grid

Leetcode 3537. Fill a Special Grid

codename_cys的博客 1627

LeetCode笔记:Weekly Contest 220 比赛记录

LeetCode笔记:Weekly Contest 220 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 0. 赛后总结 这次的比赛结果略惨,只做出3题,然后国内才只有229/3690,世界则是667/9606,都是只有前7%的水平。 但是这次的题目应该算是比较简单的,看了一下,第一名的大佬只花了不到10分钟就搞定了,..

codename_cys的博客 1581

Leetcode 3389. Minimum Operations to Make Character Frequencies Equal

Leetcode 3389. Minimum Operations to Make Character Frequencies Equal

codename_cys的博客 1552

Leetcode 3609. Minimum Moves to Reach Target in Grid

Leetcode 3609. Minimum Moves to Reach Target in Grid

codename_cys的博客 1528

LeetCode笔记:Weekly Contest 203 比赛记录

LeetCode笔记:Weekly Contest 203 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 0. 赛后总结 昨天刚刚历史性地第一次打进了前500,今天转头就历史性地打进了前200,实在是有点开心。 不过说到底还是因为题目比较简单的关系,看了一下,前头的大佬们都是10分钟左右就做完的,实在不认为这次的题目比..

codename_cys的博客 1523

LeetCode笔记:Weekly Contest 279

LeetCode笔记:Weekly Contest 279 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 1. 题目一 给出题目一的试题链接如下: 2164. Sort Even and Odd Indices Independently 1. 解题思路 这题还是比较直接的,就是先按照奇偶性取出元素,然后分别进行排序之后进行重组即..

codename_cys的博客 1514

LeetCode2461~2480题目解析

LeetCode2461~2480题目解析

jiaomubai的博客 142

LeetCode 每日一题 2026/11/2-2026/11/8

记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步

AlphaTao的博客 185

LeetCode 面试经典 150_多维动态规划_交错字符串(97_C++_中等)

LeetCode 面试经典 150_多维动态规划_交错字符串(97_C++_中等) 题目描述: 给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。 两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串: - s = s1 + s2 + ... + sn - t = t1 + t2 + ... + tm - |n - m| <= 1 - 交错 是 s1 + t

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值