关于R语言find_maximum函数的功能理解验证请求
对find_maximum函数的理解验证
你的理解完全准确,逐条对应验证如下:
- 确实定义了名为
find_maximum的函数,接收一个vector参数 - 函数初始化时将
maximum设为输入向量的第一个元素vector[[1]] - 通过
seq_along(vector)生成向量的索引序列,for循环遍历每个索引i - 每次循环中对比当前索引对应的元素
vector[[i]]和maximum,若前者更大则更新maximum - 循环结束后返回最终的
maximum值
测试验证
可以用几个测试案例确认函数行为:
# 测试普通数值向量 find_maximum(c(3, 7, 2, 9, 5)) # 应返回9 # 测试含负数的向量 find_maximum(c(-1, -5, -2)) # 应返回-1 # 测试单元素向量 find_maximum(c(10)) # 应返回10
注意边界情况
当前函数存在一个潜在问题:如果输入是空向量vector(),vector[[1]]会报错,因为空向量没有第一个元素。如果需要兼容空向量,可以在函数开头添加判断:
find_maximum <- function(vector){ if (length(vector) == 0) { stop("输入向量不能为空") # 或者返回NA:return(NA) } maximum <- vector[[1]] for (i in seq_along(vector)){ if (vector[[i]] > maximum) maximum <- vector[[i]] } return(maximum) }
内容的提问来源于stack exchange,提问作者Jesper
相关产品推荐
相关产品推荐

