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

统计数组偶数索引值大于前值的数量及R代码错误排查

原代码问题排查
  • 语法错误:大括号配对错误,else分支的位置不符合R语法规范,代码本身就无法正常运行
  • 计数器初始化错误:coun <- 0写在了外层for循环内部,每次循环都会重置计数器为0,无法累计统计结果
  • 循环逻辑冗余:额外增加了无意义的外层for循环,还重复定义循环变量i,逻辑完全混乱
  • 比较逻辑错误:奇数长度数组的分支中,比较条件写为A[i+1]>A[len],完全不符合需求,不需要和数组倒数第一个元素比较
  • 规则匹配错误:没有限定仅比较偶数位置和前一个奇数位置的元素,会出现多余的比较统计
修复后可运行代码
# 初始化示例数组
A <- c(1,2,3,1,4,5,5,6,7)
coun <- 0
# 直接生成所有偶数下标,自动跳过不参与统计的末尾奇数下标
even_index <- seq(2, length(A), by = 2)
for (idx in even_index) {
  if (A[idx] > A[idx - 1]) {
    coun <- coun + 1
  }
}
# 输出结果
print(coun)
代码说明
  • 用seq(2, length(A), by=2)生成所有偶数下标,无需单独判断数组长度的奇偶性,自动排除了无对应前序值的末尾奇数下标
  • 遍历偶数下标时直接和前一个位置的元素比较,完全匹配统计规则
  • 计数器在循环外初始化,可正常累计计数,运行后输出结果为3,符合预期

内容的提问来源于stack exchange,提问作者ggtyk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 01:54:03