You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C程序求助:数组最长连续1序列输出结果不符合预期

数组最长连续1序列问题的解决记录

需求说明

我需要处理一个数组任务:找出数组里包含数字1的最长连续相邻序列,输出对应的行索引和连续1的个数。这里要特别注意:不是统计每行中1的总数,只算那些相邻连在一起的1哦。

遇到的问题

我自己写的实现代码跑起来后,输出结果是1,4,5,但正确的预期输出应该是4,4,5,试了好几次都没找到问题出在哪。

解决方案

后来参考了Stack Overflow上专家twain249的思路,终于把问题解决了!关键是修正了遍历数组时的计数逻辑:

  • 逐行遍历过程中,要实时跟踪当前连续1的长度,遇到非1元素就立刻重置计数器
  • 更新最长序列记录时,要同步更新对应的行索引和长度,还要注意行索引的计数规则(比如是否从1开始,这里的预期结果行索引是4,说明是从1计数的)
  • 对比最长长度时,要确保每次都准确替换成更大的那个连续序列,而不是误判了行位置

致谢

真的非常感谢twain249的专业解答,一下子帮我理清了逻辑上的误区,顺利搞定了这个问题!

内容的提问来源于stack exchange,提问作者trying to learn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:02:34