LeetCode笔记:Weekly Contest 243 比赛记录

使用sysbench对Oracle做基准测试(-) 安装篇 sysbench是一款开源的多线程性能测试工具, 可以执行CPU/内存/线程/IO/数据库等方面的性能测试。数据库目前支持MySQL/Oracle/PostgreSQL。 阅读详情

LeetCode笔记:Weekly Contest 243

1. 题目一

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

1. 解题思路

这一题依然没啥好多说的,就是把字符变换为数字,然后求和比对一下即可。

2. 代码实现

给出python代码实现如下:

class Solution:
    def isSumEqual(self, firstWord: str, secondWord: str, targetWord: str) -> bool:
        def str2num(word):
            res = "".join(chr(ord('0') + ord(c)-ord('a')) for c in word)
            # print(res)
            return int(res)
        
        return str2num(firstWord) + str2num(secondWord) == str2num(targetWord)

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

2. 题目二

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

1. 解题思路

这题需要分类讨论一下,如果原数为正数,那么就要获得最大的插入,反之,如果原数为负数,那么就要进行最小的插入。

不过插入方式本身大同小异,最大插入就是插入到目标元素大于原数组中第一个比该元素小的元素位置上,反之最小插入只需要插入到第一个比目标元素大的元素位置上即可。

唯一需要注意一下的是,最小插入时当目标元素为0时,不能够插入到第一个元素当中。

2. 代码实现

给出python代码实现如下:

class Solution:
    def maxValue(self, n: str, x: int) -> str:
        def get_max(n, x):
            for i, c in enumerate(n):
                if c < x:
                    return n[:i] + x + n[i:]
            return n + x

        def get_min(n, x):
            for i, c in enumerate(n):
                if c > x:
                    if i != 0 or x != 0:
                        return n[:i] + x + n[i:]
            return n + x
        x = str(x)
        if n[0] != "-":
            return get_max(n,x)
        else:
            return "-" + get_min(n[1:], x)

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

3. 题目三

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

1. 解题思路

这一题事实上只需要不断地维护好当前的可用服务器列表以及使用中的服务器列表即可。

对于每一个任务,如果当前有可用的服务器,那么直接使用当前的可用服务器中最小weight的服务器即可,如果没有,那么需要等待第一个服务器被释放时(令时间为t)才能够进行运行,此时在等待队列中的任务一定是所有发生在t以及t之前的任务。

因此,我们只需要按照权重weight维护一个可用服务器列表,然后按照释放时间维护另一个使用服务器列表即可。

2. 代码实现

给出python代码实现如下:

class Solution:
    def assignTasks(self, servers: List[int], tasks: List[int]) -> List[int]:
        if len(servers) > 56:
            print(servers[56], servers[36])
        avaliable = [(w, idx) for idx, w in enumerate(servers)]
        heapq.heapify(avaliable)
        used = []
        t = 0
        res = []
        for i, d in enumerate(tasks):
            t = max(i, t)
            while used != [] and used[0][0] <= t:
                _, w, idx = heapq.heappop(used)
                heapq.heappush(avaliable, (w, idx))
            if avaliable == []:
                t = used[0][0]
                while used != [] and used[0][0] <= t:
                    _, w, idx = heapq.heappop(used)
                    heapq.heappush(avaliable, (w, idx))
            w, idx = heapq.heappop(avaliable)
            heapq.heappush(used, (t+d, w, idx))
            res.append(idx)
        return res

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

4. 题目四

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

1. 解题思路

这一题是看着答案搞定的,核心还是动态规划,关键问题就是怎么去定义这个动态规划问题。

我们开始给出的动态规划函数是考察每个到达每个位置时当前消耗的单次累计时间以及总的时间余量,不过这个方式会遇到超时问题,因为要记录的内容实在太多,并没有充分利用起历史的计算内容。

而官方给出的解答则是定义了动态规划函数 d p ( i , j ) dp(i,j) dp(i,j)表示到达第i个位置,且跳过j次时所需要的最短时间。

此时,我们有递推公式:

d p ( i , j ) = m i n ( d p ( i − 1 , j − 1 ) + d i s t i s p e e d , ⌈ d p ( i − 1 , j ) + d i s t i s p e e d ⌉ ) dp(i, j) = min(dp(i-1, j-1) + \frac{dist_i}{speed}, \lceil{dp(i-1, j) + \frac{dist_i}{speed}}\rceil) dp(i,j)=min(dp(i−1,j−1)+speeddisti​​,⌈dp(i−1,j)+speeddisti​​⌉)

而后,我们只需要看一下当 i = n i=n i=n时,j最小取到多少时能够满足 d p ( i , j ) dp(i,j) dp(i,j)不大于目标时间hoursBefore即可。

2. 代码实现

我们仿照官方解答给出python代码实线如下:

class Solution:
    def minSkips(self, dist: List[int], speed: int, hoursBefore: int) -> int:
        n = len(dist)
        dp = [[0 for _ in range(n+1)] for _ in range(n+1)]
        
        epsilon = 1e-8
        
        for i in range(1, n+1):
            dp[i][0] = dp[i-1][0] + math.ceil(dist[i-1]/speed)
            for j in range(1, i):
                dp[i][j] = min(dp[i-1][j-1] + dist[i-1]/speed, math.ceil(dp[i-1][j] + dist[i-1]/speed - epsilon))
            dp[i][i] = dp[i-1][i-1] + dist[i-1]/speed
        for i in range(n+1):
            if dp[n][i] <= hoursBefore:
                return i
        return -1

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

不过这里比较坑爹的是存在精度问题,这里的epsilon单纯就是为了解决精度问题而存在的,非常的不优雅……

node运行项目-Network: unavailable-没有ip地址 vscode运行vue项目后发现Network: unavailable 是什么情况呢?可能有一下三种情况:1.多个网卡原因:打开网络共享中心,把多余的网络禁用掉,只留一个2.在中配置host及public3.系统环境变量问题。 阅读详情

相关推荐

断点回归(regression discontinuity design)学习笔记

本篇博文主要是对断点回归的一些学习和总结~ 学习材料如下: 1 断点回归设计RDD分类与操作案例 2 RDD断点回归, Stata程序百科全书式的宝典 3 断点回归设计的前沿研究现状, RDD 4 让“跳跃”更有意义:断点回归设计(RDD) 5 Stata: 断点回归 (RDD) 教程 6 怎么用通俗的语言解释断点回归?它与DID的区别是什么 7 Watering Down Environmental Regulation in China,Guojun He, Shaoda Wang, Bing Zhan

Claire_chen_jia的博客 9万+

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

TI CC2642R蓝牙5.2模块实战:从零搭建智能门锁原型(附电路图)

本文详细介绍了如何基于TI CC2642R蓝牙5.2模块从零搭建智能门锁原型,涵盖硬件选型、低功耗配置、蓝牙安全交互等关键环节。通过CC2642R的高性能MCU和蓝牙5.2技术,开发者可实现低功耗、高安全性的智能门锁设计,并提供实用的电路图和PCB布局建议。

o5p6q的博客 110

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

【FDTD运行引擎错误解决方法】

我用的是2024R1版的FDTD,第一次安装好的时候点“RUN”可以正常运行,后来不知道什么问题就无法运行了。我从网上找相关的解决办法,并未找到,将软件卸载重装,重启等方法都没有解决,后来在官网按照提示解决了,我把官网提供的方式和我的情况相结合,提供一个解决方式。提示:以下是本篇文章正文内容,下面案例可供参考最后说一下两个MPI和Local computer(不使用MPI)的区别使用MPI进行仿真可以显著提高计算速度和效率,特别是对于大规模和复杂的仿真任务,但需要额外的设置和配置。(多线程并行计算)

m0_57410975的博客 8171

RK平台MPP编解码实战:从源码编译到性能测试全解析

本文详细解析了在RK(瑞芯微)平台上进行MPP(Media Process Platform)多媒体编解码实战的全过程。从源码获取、交叉编译环境搭建、常见编译问题排查,到测试程序的修改调试与性能测试分析,提供了从零到一的完整指南。文章通过实测数据展示了MPP硬件编解码在嵌入式设备上的高性能与低功耗优势,帮助开发者快速掌握这一关键技术,应用于智能摄像头、视频会议终端等产品开发。

weixin_28273593的博客 544

LeetCode笔记:Weekly Contest 198 比赛记录

Weekly Contest 198 0. 赛后感 1. 题目一 2. 题目二 3. 题目三 4. 题目四 0. 赛后感 在体验了几个星期的简单比赛之后,终于这次的比赛让我再一次想起了当年刚开始参加比赛的时候被卡死在一道题的恐惧。 这次真的是又一次感受到了绝望的滋味,一场比赛下来居然只搞定了两题,原则上比较简单的第二题我花了一个多小时,还错了好几次,虽然中间有不少是因为超时或者题目理解错误,但还是让人感受到无比的绝望。 但是整体来看吧,这次的第一名用时从前几周的十分钟左右暴增到35分钟,去除因..

codename_cys的博客 419

5G时代必知:LDPC与Polar码实战解析(附MATLAB仿真代码)

本文深入解析5G时代核心信道编码技术LDPC码与Polar码的原理差异及性能表现,通过MATLAB仿真代码展示其在实际通信系统中的应用。LDPC码适用于大数据块高速传输,而Polar码在小数据块低时延场景表现优异,帮助开发者优化5G系统设计。

sugar的博客 642

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

【定制功能】LVGL 页面管理

页面管理的主要针对实际复杂的UI项目的。支持多页面管理,包含页面跳转和返回(主要是方便项目功能管理)支持后台页面自动销毁、前台页面自动创建(主要是节约资源使用)支持语言切换逻辑(页面重建功能)支持主题切换逻辑支持页面切换动画效果首先,页面管理是针对act_src图层来讲的。仅在screens数组中供act_src切换的对象树才会被此页面管理功能所管理。这意味着,如果top_layer或者sys_layer图层上,有页面需要重建时,需要特殊处理(实际项目中top_layer或者。

Bigan(安)的博客 5751

EMS案例:BMS传导发射超标整改案例

BMS作为新能源汽车的关键部件,其EMC性能直接影响整车的安全性和可靠性。本文通过一个实际的传导发射整改案例,详细展示了从问题定位、分析到解决方案实施的全过程。希望这些经验能够为从事类似产品设计的工程师提供有价值的参考,在未来的产品开发中避免类似问题,设计出更加可靠、稳定的BMS产品。EMC设计是一门结合理论与实践的艺术,只有通过不断积累经验、深入理解电磁场理论,并紧密结合实际应用场景,才能在复杂的电磁环境中设计出鲁棒性强的电子产品。

m0_56451176的博客 272

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

多算法数据预测——BP、ELM、LSTM、BiLSTM和SAELSTM,附Matlab源码

本文将为大家介绍基于BP、ELM、LSTM、BiLSTM和SAELSTM多种算法的数据预测,并提供相应的Matlab源码。SAELSTM算法是一种结合自动编码器和LSTM神经网络的深度学习方法,用于时间序列数据预测。ELM算法是一种单层前向神经网络,在单次训练过程中直接产生输出权重,从而具有快速学习和良好推广性能。多算法数据预测——BP、ELM、LSTM、BiLSTM和SAELSTM,附Matlab源码。总体来看,采用多种算法进行数据预测可以提高预测准确率,并可根据不同场景选择适合的算法。

qq_39605374的博客 862

LeetCode笔记:Weekly Contest 215 比赛记录

LeetCode笔记:Weekly Contest 215 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 4. 算法优化 0. 赛后总结 这一次的比赛排名的话还算是凑合,国内327,世界830,总算也是在前10%,但是过程真的是呵呵了,整整错了4次,其中有3次都是极其愚蠢的错误,然后最后还提前了半小时放弃了,最后一题真..

codename_cys的博客 1267

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

LeetCode笔记:Weekly Contest 230 比赛记录

LeetCode笔记:Weekly Contest 230 0. 比赛记录 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 0. 比赛记录 这个周末其实没有打比赛,因为周一在上海这边有点事,就周日先过来找刘y师姐还有刘br师兄玩耍了,然后就顺理成章地翘掉了今天的周赛。 这里必须要感谢一下刘y师姐还有刘br师兄的盛情款待,不但cover了..

codename_cys的博客 220

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

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

蓝牙模块HM-10手册

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

LeetCode笔记:Weekly Contest 231 比赛记录

LeetCode笔记:Weekly Contest 231 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 0. 赛后总结 这次的比赛和昨晚也差不多,不过第三题傻逼了,一个低级错误导致连错了4次,然后就啥都就不回来了,看了一下国内排名大约被拉了100名吧,唉,要不肯定能进前5%的…… 1. 题目一 给出题目一的试题链接如..

codename_cys的博客 1367

LeetCode笔记:Weekly Contest 216 比赛记录

LeetCode笔记:Weekly Contest 216 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 0. 赛后总结 这次的比赛真心翻大车了,简直了,而且翻车的理由特别奇葩:因为题目过于简单。。。 唉,看了一下,第一名的大佬花了8分多点就搞定了,然后我为了图快结果没有想到特别清楚,然后居然错了3次,而且奇葩的是3次..

codename_cys的博客 1072

LeetCode笔记:Weekly Contest 224 比赛记录

LeetCode笔记:Weekly Contest 224 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 0. 赛后总结 这次的比赛结果而言真的是惨不忍睹,只做出两题,还错了两次,然后排名就真的惨不忍睹了,都没脸说成绩了,唉。。。 后面加油吧。。。 1. 题目一 给出题目一的试题链接如下: 5653. 可以形成最大正方形的矩形数目 1. 解题思路 这一..

codename_cys的博客 232

LeetCode笔记:Weekly Contest 209 比赛记录

LeetCode笔记:Weekly Contest 209 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 0. 赛后总结 这一次的比赛算是中规中矩吧,花了四十来分钟,完成了3题,最后一题没能搞定。成绩上来说倒是不算差,国内181名,世界538名。大概因为做出最后一题的人确实不多吧。 总之,回头好好研究一下最后一题吧,总..

codename_cys的博客 145

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 246 比赛记录

LeetCode笔记:Weekly Contest 246 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 1. 题目一 给出题目一的试题链接如下: 1903. Largest Odd Number in String 1. 解题思路 区分奇偶数的唯一区别在于末尾位,因此,我们只要找到从尾部开始的第一个奇数的字符然后将其之前所有的数..

codename_cys的博客 167

LeetCode笔记:Weekly Contest 244 比赛记录

LeetCode笔记:Weekly Contest 244 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 1. 题目一 给出题目一的试题链接如下: 1886. Determine Whether Matrix Can Be Obtained By Rotation 1. 解题思路 第一题暴力解决就能够搞定了,直接将旋转变换进行实现..

codename_cys的博客 243

LeetCode笔记:Weekly Contest 213 比赛记录

LeetCode笔记:Weekly Contest 213 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 0. 赛后总结 这一次的比赛从排名上来说还算是OK,国内324,世界977,勉强算是挤进了前1000,不过过程上来说就是很不爽。 第三第四题一开始都想岔了,结果两个一开始都是遇到了超时问题,万幸第四题后来修改思路倒..

codename_cys的博客 359

LeetCode笔记:Weekly Contest 284

LeetCode笔记:Weekly Contest 284 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 1. 题目一 给出题目一的试题链接如下: 2200. Find All K-Distant Indices in an Array 1. 解题思路 这一题我的思路很暴力,直接暴力检索一下,找到所有的目标位置,然后加入其对应范围..

codename_cys的博客 1428

LeetCode笔记:Weekly Contest 205 比赛记录

LeetCode笔记:Weekly Contest 205 0. 赛后总结 1. 题目一 1. 解题思路 2. 代码实现 2. 题目二 1. 解题思路 2. 代码实现 3. 题目三 1. 解题思路 2. 代码实现 4. 题目四 1. 解题思路 2. 代码实现 3. 大佬们的解法 0. 赛后总结 唉,图真的是我的阿喀琉斯之踵,感觉自己做的其实还可以了,结果一看结果连1500都没有进,差点跑出2000名,即使是国内也在500名之后,连10%都没进,然后看看排名第一的awic..

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值