代码随想录Day 2 补充【前缀和】+【数组篇总结】 | 58.区间和、44.开发商购买土地

YOLOv11 改进 - C2PSA | C2PSA融合TSSA(Token Statistics Self-Attention)令牌统计自注意力,优化遮挡目标感知 本文介绍了Token Statistics Self-Attention(TSSA)机制,并将其集成到YOLOv11中。传统自注意力计算复杂度高,TSSA进行了范式转变,基于token统计特征实现高效注意力交互。它通过“算法展开”推导得出,以“最大编码率降低”为目标,实现特征学习。TSSA包含动态分组和低秩投影优化两步创新,具备线性复杂度。我们将TSSA代码集成到YOLOv11的C2PSA模块中。实验表明,改进后的YOLOv11在目标检测任务中表现良好,验证了TSSA机制的有效性。 阅读详情

 一、一维前缀和

1. 普通求和

        通常对一维数组求和采用的是从头到尾遍历的方式,时间复杂度是O(n),但当数据量很大的时候很可能会超时。

2. 一维前缀求和

        1)初始化前缀和数组,定义一个数组s[i],用来记录前i项数据的和:s[i] = s[i-1] + a[i]

             注意:i从1开始,这样不用考虑边界问题

        2)查询操作:要计算[l, i]的区间和 = s[i] - s[l-1],时间复杂度是O(1)

3. 看了代码随想录后的想法

        1)首先引入python的sys包,并定义Input接收客户端输入(“sys”即“system”,“系统”之意。该模块提供了一些接口,用于访问 Python 解释器自身使用和维护的变量,同时模块中还提供了一部分函数,可以与解释器进行比较深度的交互);

        2)定义主函数:

        首先将客户端输入的数据转化为行存储的数组,并且为它的下标定义索引,然后初始化前缀和数组和前缀和;

        然后遍历所有的 i,使得前缀和不断与下一个元素相加,并为下一个元素赋值为当前和;

        接下来定义一个空数组用于存储最后的结果,以索引不超过数组长度-1为条件进行循环,将数组里的元素两两一组进行赋值;

        最后处理特殊边界情况,当第一个区间元素的下标索引为0时,意味着要求的区间从0开始,因此数组区间和就是第二个区间元素所对应的值;其他情况下,区间和等于第二个区间元素对应的值减去第一个区间元素-1所对应的值;然后将上述结果添加到存储最后结果的数组中;

        最后根据客户端的输入区间,依次输出区间和;

        3)调用主函数。

文章讲解:

二、二维前缀和(子矩阵的和)

1. 初始化前缀和数组:定义一个二维数组s[i][j],用来记录前(i, j)到原点所有数的和项数据的和

2. s[i][j]=s[i][j-1]+s[i-1][j]+a[i][j]-s[i-1][j-1]

三、数组篇总结

文章链接: 代码随想录

8、硬件工程师笔试面试知识器件篇——二极管(2025版本) 当二极管正向偏置时(阳极相对于阴极为正电压),PN结内部的电场减小,允许电子和空穴复合,形成电流。而当二极管反向偏置时,PN结的电场增强,阻止电流通过。在接触区域,P型半导体中的空穴和N型半导体中的自由电子会相互扩散和复合,形成一个没有自由载流子的耗尽区。在设计电子电路时,平衡二极管的正向电压降(Vf)和最大电流(I)是一个重要的考虑因素,因为这两者直接影响电路的性能和效率。通过这些步骤,可以确保在设计电子电路时选择的二极管能够安全地处理预期的最大正向电流和最大反向电压,从而提高电路的可靠性和安全性。 阅读详情

相关推荐

VT System故障排查指南:从License验证到硬件连接全解析

本文详细解析VT System故障排查全流程,从License验证、Real Bus模式设置到硬件连接与VT6000组网配置。针对VT7900板卡等特殊设备提供专业解决方案,并分享系统级故障的二分法排查技巧,帮助工程师快速定位和解决CANoe环境下的各类硬件识别问题。

weixin_29269441的博客 255

代码随想录day02 | 209.长度最小的子数组、 59.螺旋矩阵II、58. 区间和(卡码网)、44. 开发商购买土地(卡码网)

>>>>>>>

2303_77648069的博客 1005

comsol 多物理场仿真流程-以开关柜为例

1、主要方法 在SolidWorks中对于开关柜的内部与外部结构进行建模,生成能够导入软件计算的3D模型。将SolidWorks中的模型导入comsol软件中,设置参数进行多物理场耦合仿真。 1、具体步骤 删除高压开关柜中对其内部电磁环境无较大影响的结构,如低压测量柜、断路器内部结构等。 导入模型:将厂家提供的3D模型转化为solidworks结构模型。 修复模型:修复已转化模型中转化错误的部分、修复已转化模型中非实体部分、修复已转化模型中重叠实体部分 化简模型:去除过于...

健忘16的博客 7020

Day2||209.长度最小的子数组|59.螺旋矩阵|58.区间和|44.开发商购买土地

1.滑动窗口(双指针)的运用2.学会用代码模拟螺旋矩阵(充分理解二分法)3.数组常用解题技巧-前缀和,并熟悉一下acm输入输出模式。

2301_79865280的博客 1008

【Transformer 相关理论深入理解】注意力机制、自注意力机制、多头注意力机制、位置编码

transformer原理

qq_38253797的博客 2万+

UNITY2022 Cardboard环境搭建

必须安装 Git,并且 git 可执行文件必须位于 PATH 环境变量中。考文档:https://developers.google.cn/cardboard/develop/unity/quickstart?转到 Assets/Samples/Google Cardboard//Hello Cardboard/Scenes/HelloCardboard 场景中。粘贴https://github.com/googlevr/cardboard-xr-plugin.git到文本输入字段中。

weixin_39510925的博客 1211

代码随想录|算法训练营Day2|209.长度最小的子数组 ,59.螺旋矩阵II ,58.区间和, 44.开发商购买土地

1)自己做代码实现时,需要先看一下代码(不管是暴力解法还是滑动窗口的双指针解法),才能自己写出来,尤其注意result的处理部分。2)滑动窗口代码实现时,有一次提交错误,是因为 return result == INT32_MAX?0 : result;这个result写成了subLen,注意最后一定返回的是比较结果。3)题目学习 + 理解 + 完成代码 + 完成日志时间:16:32—19:09。题5. LeetCode 59 螺旋矩阵II(中等)螺旋矩阵II螺旋矩阵II。

weixin_43978140的博客 989

Python爬虫应对Cloudflare防护:5秒盾+Turnstile验证码实战(AST反混淆+指纹模拟,成功率95%)

Cloudflare 5秒盾+Turnstile验证码的防护核心,是通过“前端JS挑战+多维度指纹校验”确认请求来源的真实性。用AST反混淆还原CF的验证逻辑,避免执行无用代码导致的验证失败;基于真实浏览器采集指纹,确保指纹维度100%匹配真人环境;结合轻量级JS引擎和自动化工具,模拟完整的浏览器执行环境。该方案的绕过成功率可达95%(剩余5%主要是IP或请求频率导致的风控),适用于绝大多数部署CF防护的网站。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1717

代码随想录 Day02 209.长度最小的子数组,59.螺旋矩阵II,58. 区间和,44,开发商购买土地,数组总结。

代码随想录 Day02 209.长度最小的子数组,59.螺旋矩阵II,58. 区间和,44,开发商购买土地,数组总结。

get_money_的博客 866

ZeroClaw安装、使用方法详细全解

ZeroClaw 是一个用 Rust 编写的轻量级、高性能、完全自主的 AI 助手运行时框架

洛星核的博客 618

【数据集8】全球人口数据WorldPop详解

全球人口数据WorldPop详解

WW、forever的博客 7880

代码随想录训练营第二天|209.长度最小的子数组、58.螺旋矩阵Ⅱ、[卡玛网]58.区间和、[卡玛网]44.开发商购买土地

主要学习了数组部分的两个高级玩法:滑动窗口(本质是双指针)、前缀和(体现了一种预处理的思想)。

csy031117的博客 850

大数据利器Hadoop:从基础到实战,一篇文章掌握大数据处理精髓!

在当今大数据时代,数据量的爆炸式增长对企业和技术提出了前所未有的挑战。如何高效地存储、处理和分析这些庞大的数据集,成为了亟待解决的问题。Hadoop作为一种分布式计算框架,应运而生,为大数据处理提供了有效的解决方案。Hadoop是一个由Apache软件基金会维护的开源项目,它基于Google的分布式文件系统(Google File System,GFS)和MapReduce计算模型设计。Hadoop的主要目标是处理大规模数据集,它可以在普通硬件集群上运行,从而降低了大数据处理的成本。

邓邓子的博客 8279

代码随想录Day2

给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。O(n^2)

HNTZB的博客 695

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

代码随想录Java算法训练营Day2 | LeetCode 209长度最小的子数组、59螺旋矩阵Ⅱ,卡码网 58区间和、开发商购买土地

跟着代码随想录用Java刷算法题~

m0_50851715的博客 1021

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

代码随想录训练营Day2

209.长度最小的子数组fast++) {slow++;return 0;}else{59.螺旋矩阵II这题建议看Leetcode Krahets的解析,讲的非常清楚i <= r;t++;break;i <= b;r--;break;i >= l;b--;break;i >= t;l++;break;

z1414758992的博客 685

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

代码随想录刷题day2|LeetCode209 长度最小的子数组、LeetCode59 螺旋矩阵II、KamaCoder58 区间和、KamaCoder44 开发商购买土地

核心解法是设置一个前缀和(原数组下标从0到其他下标所在区间的元素和)数组sum,当要求某一个指定区间时,例如原数组下标2到下标5之间的区间和,可以通过sum[5]-sum[1]求得。*关于oj平台的判定,出现时间超限的问题时,要考虑减少不必要循环,并且当处理的数据量很大时,使用scanf和printf函数会比cin和cout节省运行时间。下标2到下标5之间的元素包括下标2的元素,所以减数是sum[1]而不是sum[2]。以下图n=5和n=6为例,注意到转几圈和n有关,中央是否有空缺和n的奇偶性有关。

m0_73687551的博客 835

代码随想录Day02|LeetCode209.长度最小的子数组、LeetCode59.螺旋矩阵、KamaCoder58.区间和、KamaCoder44.开发商购买土地

两个索引来将元素框在其中,在改变终止位置的同时让起始位置做出对应的改变,实现窗口的滑动,从而得到符合要求的结果。就是满足的连续子数组,但不一定是最小的,所以要继续找,直到找到最小的为止。本题要求从外圈到内圈顺时针填充矩阵,模拟图如下。开始后移直至数组中最后一个元素,在循环体中,元素为正整数,则相加的和越来越大,即是。为避免双重for循环暴力求解,可以把求。的最小子数组,可以使用滑动窗口。定义一个f循环体,终止位置从。题目要求寻找元素和大于等于。中元素递增的,故只需要求。数组中的元素是递增的。

m0_64596135的博客 908

【代码随想录day2】【C++复健】209. 长度最小的子数组; 59.螺旋矩阵II;卡码网58. 区间和;卡码网44. 开发商购买土地

这是希望每次循环中都找到最短的n后再记录的代码,具体做法就是一直移动left直到sum小于target,然后再对left进行-1并且记录当前位置的结果,逻辑上个人认为是能说通的,但例子里的[2,3,1,2,4,3]都输出了4这么一个奇怪的结果,如果有大佬知道问题出在哪欢迎在评论里面留言。本题思路方面一开始其实是有些模糊的,但在列出了四个indent之后,其实做法就很清晰了,每次模拟一行或一列,在这之后这一行/列就被完全占满了,对应的indent就要+1,代表下一次从下一行/列继续。

yumenohimiko的博客 903

代码随想录算法训练营 day 2 | 209.长度最小的子数组,59.螺旋矩阵II,区间和,开发商购买土地

在看到这些题目时,我有思路,但是并不清晰,或者有关于边界条件的设置总是不够严谨,在看了carl哥的文章与视频后,思路清晰,能够跟着carl哥完成代码的编写,但是有些地方还是不能够准确无误的写下来,因此还需要多学多练多理解。当sum>=target时,首先记录累加和为sum的子数组长度,然后sum - =num [i],i 向数组下一位移动,即i=i+1。(2)并在该for循环中,从初始位置开始,先对num[j]依次相加,用sum记录累加和,直至sum>=target值。螺旋矩阵最主要的是边界条件的设置。

m0_63601971的博客 744

代码随想录day2 | LeetCode209.长度最小的子数组、LeetCode59.螺旋矩阵II、KamaCoder 58. 区间和(第九期模拟笔试)、KamaCoder 44. 开发商购买土地

代码随想录day2 | LeetCode209.长度最小的子数组、LeetCode59.螺旋矩阵II、KamaCoder 58. 区间和(第九期模拟笔试)、KamaCoder 44. 开发商购买土地(第五期模拟笔试)

落雪的博客 1090

代码随想录算法训练营Day2| LeetCode 209 长度最小子数组、59 螺旋矩阵;卡码 58 区间和、44 开发商购买土地

代码随想录算法打卡第二天!居然ac了螺旋矩阵!

修炼途中的所见所闻,所思所想。 486

LeetCode刷题day5

至此,数组篇刷题结束,顺便夹杂了两道动态规划的题,因为这学期恰好有算法设计与分析课。

Jessie's blog 1020

代码随想录 Day2 | 数组-part02(209.长度最小的子数组、59.螺旋矩阵II、58.区间和、44.开发商购买土地)

本文总结了数组相关算法题的解题思路,主要包括滑动窗口、循环不变量和前缀和等技巧。重点分析了209题"长度最小的子数组"的滑动窗口解法,通过优化窗口收缩逻辑将时间复杂度降至O(n)。59题"螺旋矩阵II"采用方向数组模拟方法,注意处理边界条件和转向逻辑。文章提供了Python实现代码,并指出了常见错误点,如死循环问题、边界判断等。通过对比原始版本和优化版本,展示了算法改进的思路。

m0_49433706的博客 357

代码随想录Day02 | 209.长度最小的子数组、59. 螺旋矩阵 II、58. 区间和、44. 开发商购买土地

第一题运用了滑动窗口0 : result;等价于第二题运用了前闭后开的思想,将螺旋形填数字按顺序分解为顶部、右列、底部、左列。第三题重点在逻辑思维运用了前缀和,单次求区间运用暴力求法并无问题,但频繁求取区间和时,运用依次的数据和可以大大简化求和复杂度。第四题也运用了前缀和的方法。图片来自代码随想录知识星球 (opens new window)海螺人。

weixin_71786382的博客 857

算法day02: 前缀和

2. 分别求出横向和纵向的各个分法的价值总和(拿纵向的举例)每一次for循环求一次和,比较一次差值 这里colcounts = colcount[0]是第一次for循环,colcounts = colcount[0] + colcount[1]是第二次for循环。在一个城市区域内,被划分成了n * m个连续的区块,每个区块都拥有不同的权值,代表着其土地价值。这道题目和区间和其实有相似之处,由于只能横着分或者竖着分,所以我们可以求纵向的和与横向的和,最后比较最小差距。第一行输入两个正整数,代表 n 和 m。

weixin_69934604的博客 1521
上一篇: 代码随想录算法训练营Day 2 | 209.长度最小的子数组、59.螺旋矩阵II、
下一篇: 代码随想录Day 3 | 【链表理论基础】203.移除链表元素、707.设计链表、206.反转链表
Accept17
博客等级 码龄4年 479粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值