当前位置: 首页 > news >正文

优选算法——前缀和(7):连续数组

🔥近津薪荼: [个人主页]
🎬个人专栏: 《近津薪荼的算法日迹》
《Linux操作系统及网络基础知识分享》
《c++基础知识详解》
《c语言基础知识详解》
✨不要物化,矮化,弱化,钝化自己,保持锋芒,不要停止学习
这个世界上只有两个人真正在注意着你
八岁的你,和八十岁的你,
他们此刻正在注视着你,
一个希望你勇敢开始,一个希望你不留遗憾

1.上期参考代码

classSolution{public:intsubarraysDivByK(vector<int>&nums,intk){vector<int>hash(k);hash[0%k]=1;intsum=0,ret=0;for(inti=0;i<nums.size();i++){sum+=nums[i];intr=(sum%k+k)%k;ret+=hash[r]++;}returnret;}};

2.本期知识点导图

3.本期要讲解的题目是

连续数组

要点:

4.解题

4.1 暴力解法:

暴力枚举出所有子数组,然后每个子数组再统计0和1的个数O(N3)

4.2优解

二进制数组,只有两种元素,本身就有一定的规律性,可操作性也强,典型的处理方式就是替换元素,使之具有我们想要的性质

关键思路:

本题可以把数组中的0改成-1如果子数组中0和1个数相同的话,那子数组的元素之和就是一个定值0,问题就被转化成了:求和为0的最长子数组长度

熟悉不

同我们之前做过的求和为k的子数组有相似之处又有所区别。

整体上同之前的题目差不多
只是有几个

小细节

要处理

  1. 哈希表中存啥:之前我们哈希表中存的是子数组的个数,我们是用数组来模拟哈希表的现在我们要统计的是字数组的长度,哈希表中记录的应该是nums数组的元素下标
  2. 先把0换成-1
  3. 某次遍历中,如果有重复的sum符合条件,只保留第一个,因为越往后的sum,留下的子数组长度越小

如图:

  1. ret的值为i与hash[sum]的差值

  2. hash[0]有个默认值,i减去这个默认值应该等于此次遍历数组的整体长度,故hash[0]=-1,为啥这里就不赘述了

  3. 在更新ret之前需要判断,是否存在和为0的子数组,数组无法兼顾记录下标和是否存在的功能,所以我们得使用真正的散列表:unodered_map

  4. ret取所有次遍历中的最大值

代码逻辑:

  1. 初始化散列表,sum和ret
    进入循环
  2. 替换零
  3. 维护sum
  4. 判断hash[sum]是否存在,不存在再维护散列表,存在,后边就不用了

5.嗟食

如果小编写的内容对佬有帮助,还请大佬点点三连加关注哦
佬的支持就是我前进的最大动力~

期待与佬的再次相遇~

http://www.jsqmd.com/news/392475/

相关文章:

  • 宝塔面板 在云服务器部署前后端分离web项目Tomcat+SpringBoot+mysql(0基础全程点点点) - 教程
  • 零基础也能入行!AI大模型训练师:高薪风口职业,普通人转行新机遇!
  • AI应用架构师手记:智能虚拟资产交易系统数据库架构选型与优化
  • 小白程序员必收藏!AI大模型自学路线图,助你轻松入门并实践_自学AI大模型学习路线推荐
  • 云南大学计算机考研复试【经验分享】
  • Transformer解码器深度解析:小白也能轻松掌握大模型核心技术(收藏备用)
  • 5分钟搞懂AI Agent技能机制:让AI像工具箱一样灵活完成任务,速收藏!
  • STM32同步Buck降压开关电源变换器设计方案
  • 多智能体系统在品牌价值动态评估中的应用
  • [算法]状压dp
  • 浙江大学计算机考研复试【经验分享】
  • 武汉起点人力资源股份有限公司安卓开发工程师职位设计
  • 小白/程序员必备:收藏这份AI大模型系统自学路线,从入门到实战不再迷茫!自学AI大模型学习路线推荐
  • 西北农林科技大学计算机考研复试【经验分享】
  • BISHI58 矩形游戏
  • 华源证券 Android 开发工程师面试题库
  • 西南石油大学计算机考研复试【经验分享】
  • Android驱动工程师面试题及答案
  • 实现电商数据驱动决策的关键步骤
  • 工业级AI原生应用中嵌入模型的部署架构
  • 后端领域 Spring Cloud Ribbon 的监控与管理
  • ClickHouse 在大数据日志分析中的应用
  • openclaw
  • 非结构化数据迁移:跨平台数据转移的策略
  • 电磁兼容仿真:电磁敏感性分析_(5).电磁敏感性实验设计
  • 【多线程】一文吃透 AQS 原理
  • 电磁兼容仿真:电磁干扰分析_(13).电磁兼容设计中的材料选择与应用
  • 电磁兼容仿真:电磁干扰分析_(15).电磁兼容性在无线通信系统中的应用
  • 电磁兼容仿真:电磁敏感性分析_(2).电磁敏感性概述
  • 电磁兼容仿真:电磁敏感性分析_(4).电磁测试与测量技术