我们必须在没有rev()的情况下反转它。不允许使用if/for循环。它也必须对numeric(0)有效。
v[length(v):1]
对于长度为0的向量,无法正确输出。
vngu2lb81#
只需使用switch,它只需要计算一次长度。
switch
v <- numeric(0L) ## creating vector of length zero v[{len <- length(v); switch((len > 0L) + 1L, 0L, len:1)}] # numeric(0)
disbfnqx2#
试试这个
> v <- numeric(0) > v[length(v) - seq_along(v) + 1] numeric(0)
以及
> v <- c(5, 2, 7, 8, 3) > v[length(v) - seq_along(v) + 1] [1] 3 8 7 2 5
2条答案
按热度按时间vngu2lb81#
只需使用
switch
,它只需要计算一次长度。disbfnqx2#
试试这个
以及