这薪资待遇能去吗?算法下标示例mapmaxlengthspiderlinebreak

最近一郑州轻工业大学的学生找了一份实习的工作,HR给出了高达一千的月薪,并且在实习生考核优秀的情况下才会有,不优秀的情况下一毛钱都没有,只报销回去的路费。郑州轻工业大学虽然不是什么名校,但C++开发一个月最高才能拿到1000块钱的薪资,这也太侮辱人了。看这HR聊天的态度估计最多也只能拿个路费,并且还要干满一个月,如果不到一个月,连路费都没有,即便是在十多年前也没见过这么无耻的公司,还去干啥啊。

--------------下面是今天的算法题--------------

来看下今天的算法题,这题是LeetCode的第525题:连续数组。

问题描述

难度:中等

给定一个二进制数组nums,找到含有相同数量的0和1的最长连续子数组,并返回该子数组的长度。

示例1:

输入:nums=[0,1]输出:2说明:[0,1]是具有相同数量0和1的最长连续子数组。

示例2:

输入:nums=[0,1,0]输出:2说明:[0,1](或[1,0])是具有相同数量0和1的最长连续子数组。

问题分析

这题实际上是让求一个最长的子数组,并且这个子数组中0和1的数量必须相同。因为数组中的元素只能是0或1,直接计算不太好解,我们可以换种思路,把数组中的0换成-1。

这样0和1的数量必须相同就变成了-1和1的数量必须相同了,它们相加的结果肯定是0,所以这题就变成了求一个最长的子数组,并且这个子数组的和必须是0。

我们以示例2为例来看下,改变之后的数组就变成了[-1,1,-1]。那么这题的解题思路就很明确了,我们可以直接使用前缀和,对改变之后的数组进行累加,然后使用一个map对累加的值进行存储,因为是求最大长度,如果遇到相同的值则不能覆盖。

关于前缀和的知识以及求最大长度,最小长度还有求频率的总结,大家可以参考我书中的10.3.3节,这里就不在过多介绍。

累加的时候如果出现相同的值,只需要用当前值的下标减去前面相同值的下标,中间这段就是和为0的子数组,我们只需要保存它的长度,记录最大值即可。

这里还要注意使用map存储前缀和的时候,要考虑0的情况,也就是说如果从数组的第一个元素到当前元素nums[i]的和是0,那么这个长度就是i+1,因为数组的下标是从0开始的,所以这里前缀和为0的时候,我们给它一个默认值-1。

JAVA:

publicintfindMaxLength(int[]nums){Mapmap=newHashMap<>();map.put(0,-1);//前缀和为0的时候,给一个默认值-1。intpreSum=0,max=0;for(inti=0;i

C++:

public:intfindMaxLength(vector&nums){unordered_mapmp;mp[0]=-1;//前缀和为0的时候,给一个默认值-1。intpreSum=0,maxLength=0;for(inti=0;i

THE END
1.C++客户端软件开发C++客户端软件开发招聘C++客户端软件开发招聘专场进行时 10万起 全国学历不限经验不限 汇聚众多行业名企 领导好发展空间大五险一金 本期新增2476个职位 C++软件开发助理 【余杭区】 10-15k 1-3年本科五险一金年终奖金绩效奖金住房补贴 浙江大学控制科学与工程学院 专业技术服务,工业自动化,计算机硬件100-499人 https://www.liepin.com/s/0e36ab1155e9e658c854f15f961f46a4/
2.刘彪红鸟网络客户有限公司2年c++程序员c++程序员 公司信息: 红鸟网络客户有限公司 工作经验: 2年 兼职日薪: 500元/8小时 兼职时间: 下班后 周六 周日 所在区域: 深圳 全区 技术能力 1.熟悉线程池内存池以及连接池等池技术 2.熟悉c++,两年C++开发经验,熟悉数据库,TCP/IP协议 3.熟悉常用的设计模式(单列,工厂,监听者)项目https://www.yuanjisong.com/consultant/110433
3.web程序员英文简历(精选12篇)2、2011/02—2011/04在学校打印部兼职做过打印、排版、打字员等工作; 让自己在业余的时间能够学习与本专业有关联的兼职工作,了解学校最新的招聘动态、和招聘信息的内容、能够有更好的条件在网上浏览内容。 3、2010/06—2011/09在苏州大方电子厂做过文员工作; https://www.360wenmi.com/f/file07w70p44.html
4.程序员兼职接单软件开发外包matlab接单兼职c++/c接单就是指导一个ct sigma delta的verilogA建… 发布日期:2024-09-26编号:390 300+ 就是指导一个ct sigma delta的verilogA建模现在系数啥的是确定好了 但是转到cadence 差分的环境下,有点懵多位量化 的也不知道在差分下如何去处理或者您可以给到我一些 多位量化ct sigma delta的verilog A理想建模文件 http://www.51jdw.cn/
5.力報ExmooNews系统开发案例力報Exmoo News类似软件系统开发服务,包括力報Exmoo News网站APP小程序、力報Exmoo News二次开发https://www.proginn.com/w/61712
6.程序员客栈【程序员客栈】是领先的中高端程序员自由工作平台。 -- 我们致力于为程序员提供稳定的线上全职、线上兼职、自由工作机会。 -- 项目方可通过我们找到全国各地各类BAT级人才。所有签约开发者均经过严格身份、经验与作品认证。 -- 我们为项目方提供: 【一键发布开发项目】专属项目经理合作,超速读懂项目需求,将整个软件https://apps.apple.com/ch/app/%E7%A8%8B%E5%BA%8F%E5%91%98%E5%AE%A2%E6%A0%88-%E7%A8%8B%E5%BA%8F%E5%91%98%E8%BF%9C%E7%A8%8B%E8%87%AA%E7%94%B1%E5%B7%A5%E4%BD%9C%E5%85%BC%E8%81%8C%E5%B9%B3%E5%8F%B0/id979914687
7.C++最新私活,永远解救不了自己屌丝的人生!_(2),高级程序员面试题 既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化! 由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新https://blog.csdn.net/2401_84978603/article/details/138788672
8.程序员个人简历13篇20xx.8广州电脑城做兼职。 20xx.7-20xx.8神州数码有限公司,网络维修实习员。 离职原因: 教育背景 毕业院校:广州铁路职业技术学院 学历:大专毕业日期:20xx-07-01 所学专业一:PHP程序员、网站编辑所学专业二: 受教育培训经历:起始年月终止年月学校(机构)专业获得证书证书编号 https://www.ruiwen.com/gerenjianli/7146348.html
9.温岭程序员实习(双休)招聘,台州程序员实习(双休)招聘,台州金苹果兼职招聘 大龄工招聘 程序员实习招聘 实习程序员招聘 程序员招聘 程序员实习生招聘 程序员学徒招聘 java程序员招聘 前端程序员招聘 高级程序员招聘 安卓程序员招聘 程序员前段招聘 后端程序员招聘 兼职程序员招聘园区招聘 吴山工业区 下呈工业区 楼旗工业区 竹坑工业区 江厦工业区 塔岙工业区 东部新区 良山工业区https://m.tzrl.com/touch/job/jobdetails.aspx?com_id=15401&job_id=217849
10.程序员导航网码农必备工具网址大全程序员导航网是一个致力于一站式程序员工作学习导航网站,汇聚程序员必备常用网址,以让程序员使用更便捷为使命,始终围绕程序员需求,为程序员提供最新工具导航https://hao.panziye.com/
11.湖北民族大学就业信息网C++逻辑程序员5名 职责: 1.服务端逻辑开发 2.运维工具开发 3.安排的其它开发任务 要求: 1.责任心强,具备良好的团队合作精神, 2.熟悉C++、数据结构、stl。良好的算法能力和逻辑思维能力 4.能承受较大的开发压力。 执行策划 1名 职责: 1.配合主策划撰写系统策划案; http://hbmzu.91wllm.cn/en/campus/view/id/397391
12.为什么C++程序员要避免使用new腾讯云开发者社区我看到一个问题 – Memory leak with std::string when using std::list< std::string >,其中的一个 回答 表述 C++ 程序员应尽量避免使用 new。https://cloud.tencent.com/developer/article/1942026
13.c++程序员需要学什么C++是一种广泛使用的高级编程语言,因其功能强大,被广泛应用于软件开发,特别是在游戏开发、系统编程、网络编程等领域。C++程序员需要学习的内容非常丰富,以下是一些大家都关注的问题,感兴趣的同学可以仔细阅读。 c++程序员需要学什么 首先,C++程序员需要掌握C++的基本语法和编程概念,包括变量、常量、数据类型、运算符、https://www.hxsd.com/content/32696/