作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在 21 点中触及所有潜在经销商的手,但是当我继续吹筹码时,我意识到事情并不像预期的那样深度优先。所以我在 ruby 中尝试了类似的代码,结果却有所不同。
这段代码,
(def d [2 3 4 5 6 7 8 9 10 10 10 10 11])
(defn dig1 [lst depth tot]
(do
(print depth)
(if (< tot 17) (map #(dig1 (conj lst %) (+ depth 1) (+ tot %)) d)) ))
(dig1 [0] 0 0)
@d = [2,3,4,5,6,7,8,9,10,10,10,10,11]
def dig(lst, depth, tot)
p depth
@d.map{|e| dig(lst.dup.push(e),depth+1,tot+e)} if tot < 17
end
最佳答案
通常 map
当您不想返回返回值并且仅评估序列的副作用时不使用。像 doseq
这样的东西更可取。
(def d [2 3 4 5 6 7 8 9 10 10 10 10 11])
(defn dig1 [lst depth tot]
(print depth)
(when (< tot 17)
(doseq [i d]
(dig1 (conj lst i)
(inc depth)
(+ tot i)))))
(dig1 [0] 0 0)
012345678999....
关于clojure - clojure 中的递归树遍历结果是广度优先,而不是深度优先。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13717053/
所以我有一个有向图,我添加了顶点和边。该图表示机场和它们之间的航类。当我运行广度优先或深度优先搜索以找到两个机场之间的路径时,我第一次得到了正确的答案,但是当我第二次使用完全相同的机场运行它时,它找不
我是一名优秀的程序员,十分优秀!