相关疑难解决方法(0)

如何在线性时间内通过`Fin`枚举列表的元素?

我们可以枚举列表的元素,如下所示:

-- enumerate-? = zip [0..]
enumerate-? : ? {?} {A : Set ?} -> List A -> List (? × A)
enumerate-? = go 0 where
  go : ? {?} {A : Set ?} -> ? -> List A -> List (? × A)
  go n  []      = []
  go n (x ? xs) = (n , x) ? go (?.suc n) xs
Run Code Online (Sandbox Code Playgroud)

Eg enumerate-? (1 ? 3 ? 2 ? 5 ? [])等于(0 , 1) ? …

time-complexity agda dependent-type idris

4
推荐指数
1
解决办法
395
查看次数

标签 统计

agda ×1

dependent-type ×1

idris ×1

time-complexity ×1