- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
(define (diagonal? col a)
(cond
[(null? a) #f]
[(= (abs(- (car a) col)) (abs (- (+ (length a) 1) (length a))))]
[else #f]))
我希望它重复检查列表 a 上的第二个条件,并且只在到达列表末尾时返回 true 或 false。我也不希望它改变列表 a。
我想得到
>(iQueens '(1 2 3 4) '())
> (iQueens '(2 3 4) '(1))
> >(iQueens '(2 4) '(3 1))
< <'()
> >(iQueens '(2 3) '(4 1))
> >(iQueens '(3) '(2 4 1))
< < '()
< <'()
< '()
但是我得到了
>(iQueens '(1 2 3 4) '())
> (iQueens '(2 3 4) '(1))
> >(iQueens '(2 4) '(3 1))
< <'()
> >(iQueens '(2 3) '(4 1))
< <'()
< '()
输入/输出包括“对角线?”
>(iQueens '(1 2 3 4) '())
> (diagonal? 1 '())
< #f
> (iQueens '(2 3 4) '(1))
> >(diagonal? 2 '(1))
< <#t
> >(diagonal? 3 '(1))
> >(diagonal? 3 '())
< <#f
> >(iQueens '(2 4) '(3 1))
> > (diagonal? 2 '(3 1))
< < #t
> > (diagonal? 4 '(3 1))
< < #t
< <'()
> >(diagonal? 4 '(1))
> >(diagonal? 4 '())
< <#f
> >(iQueens '(2 3) '(4 1))
> > (diagonal? 2 '(4 1))
> > (diagonal? 2 '(1))
< < #t
> > (diagonal? 3 '(4 1))
< < #t
< <'()
< '()
> (diagonal? 2 '())
< #f
> (iQueens '(1 3 4) '(2))
> >(diagonal? 1 '(2))
< <#t
> >(diagonal? 3 '(2))
< <#t
> >(diagonal? 4 '(2))
> >(diagonal? 4 '())
< <#f
> >(iQueens '(1 3) '(4 2))
> > (diagonal? 1 '(4 2))
> > (diagonal? 1 '(2))
< < #t
> > (diagonal? 3 '(4 2))
< < #t
< <'()
< '()
> (diagonal? 3 '())
< #f
> (iQueens '(1 2 4) '(3))
> >(diagonal? 1 '(3))
> >(diagonal? 1 '())
< <#f
> >(iQueens '(2 4) '(1 3))
> > (diagonal? 2 '(1 3))
< < #t
> > (diagonal? 4 '(1 3))
> > (diagonal? 4 '(3))
< < #t
< <'()
> >(diagonal? 2 '(3))
< <#t
> >(diagonal? 4 '(3))
< <#t
< '()
> (diagonal? 4 '())
< #f
> (iQueens '(1 2 3) '(4))
> >(diagonal? 1 '(4))
> >(diagonal? 1 '())
< <#f
> >(iQueens '(2 3) '(1 4))
> > (diagonal? 2 '(1 4))
< < #t
> > (diagonal? 3 '(1 4))
> > (diagonal? 3 '(4))
< < #t
< <'()
> >(diagonal? 2 '(4))
> >(diagonal? 2 '())
< <#f
> >(iQueens '(1 3) '(2 4))
> > (diagonal? 1 '(2 4))
< < #t
> > (diagonal? 3 '(2 4))
< < #t
< <'()
> >(diagonal? 3 '(4))
< <#t
< '()
<'()
0
我想我终于明白我在那个条件背后的逻辑是不正确的。但在纸面上,逻辑对我来说是有意义的。您能否提示我条件第二部分的逻辑哪里出了问题?我对输出与我需要的答案如此相似感到非常犹豫。我认为我的代码一定是错误的,而不是我的逻辑。
*编辑
(define (diagonal? col a count)
(if
(null? a)
#f
(if(or (= (car a) (+ col count)) (= (car a) (- col count)))
#t
(diagonal? col (cdr a) (+ 1 count))
)))
这个逻辑有效...但我被迫使用计数...我仍然无法弄清楚如何更改它以不使用我试图避免的第三个参数。
*编辑
为了让上面的对角线起作用,我使用了
(λ(x) (if(not (diagonal? x a 1) )
(iQueens (remove x l) (cons x a))
'()))
l)))
我想要的呼唤是
(λ(x) (cond
[(diagonal? x a) (cdr l) '()]
[else (iQueens (remove x l) (cons x a))]))l)))
最佳答案
您仍然没有给出 diagonal?
的示例输入和输出,但这是我的尝试:
(define (diagonal? col len elt)
(= (abs (- elt col))
(abs (- (+ len 1) len)))) ; this is constant 1
(define (diagonals? col lst)
(define len (length lst))
(andmap (lambda (elt) (diagonal? len col elt)) lst))
diagonal?
仅对一个元素进行操作,diagonals?
处理整个列表。
如您所见,表达式 (abs (- (+ len 1) len)))
实际上是常量 1
所以这在您的初始值中可能不正确程序。此外,我假设您希望列表的所有 元素都应该验证谓词,否则您将不得不使用ormap
而不是andmap
。
> (diagonals? 2 '(4 1))
#f
编辑
鉴于您没有提供足够的信息,我只能猜测,但假设计数从 0 开始(如果不是,只需更改 in-naturals
调用),这可能会有所帮助:
(define (diagonal? col a)
(for/or ((i (in-list a)) (count (in-naturals)))
(or (= i (+ col count)) (= i (- col count)))))
关于scheme - Racket 迭代和递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25791024/
如果您有超过 1 个具有相同类名的(动态)文本框,并使用 jquery 循环遍历每个所述文本框,您是否可以假设每次选择文本框的顺序都是相同的? 示例: 文本框 1 值 = 1文本框 2 值 = 2文本
有人知道为什么这段代码无法顺利运行吗?它似乎不喜欢使用yield关键字进行迭代:我正在尝试从任何级别的列表或字典中挖掘所有数字(对列表特别感兴趣)。在第二次迭代中,它找到 [2,3] 但无法依次打印
我关于从 mysql 数据库导出数据并将其保存到 Excel 文件(多表)的创建脚本。我需要让细胞动态基因化。该脚本正确地显示了标题,但数据集为空。当我“回显”$value 变量时,我检查了数据是否存
我正在尝试在 Python 中运行模拟,由此我绘制了一个数组的随机游走图,给定了两个变量参数的设定水平。 但是,我遇到了一个问题,我不确定如何迭代以便生成 250 个不同的随机数以插入公式。例如我已经
我是学习 jquery 的新手,所以如果这是一个相对简单的问题,我深表歉意。我有一个 ID 为 ChartstoDisplay 的 asp.net 复选框列表。我正在尝试创建 jquery 来根据是否
我正在尝试根据在任意数量的部分中所做的选择找出生成有效案例列表的最佳方法。也许它不是真正的算法,而只是关于如何有效迭代的建议,但对我来说这似乎是一个算法问题。如果我错了,请纠正我。实现实际上是在 Ja
如果我使用 sr1 为 www.google.com 发送 DNSQR,我会收到几个 DNSRR(s) 作为回复,例如(使用 ans[DNSRR].show() 完成): ###[ DNS Resou
假设有这样一个实体类 @Entity public class User { ... public Collection followers; ... } 假设用户有成千上万的用户关注者。我想分页..
这个问题已经有答案了: 已关闭11 年前。 Possible Duplicate: Nested jQuery.each() - continue/break 这是我的代码: var steps =
我刚从 F# 开始,我想遍历字典,获取键和值。 所以在 C# 中,我会说: IDictionary resultSet = test.GetResults; foreach (DictionaryEn
我知道已经有很多关于如何迭代 ifstream 的答案,但没有一个真正帮助我找到解决方案。 我的问题是:我有一个包含多行数据的txt文件。 txt 文件的第一行告诉我其余数据是如何组成的。例如这是我的
我有 12 个情态动词。我想将每个模态的 .modal__content 高度与 viewport 高度 进行比较,并且如果特定模态 .modal__content 高度 vh addClass("c
在此JSFiddle (问题代码被注释掉)第一次单击空单元格会在隐藏输入中设置一个值,并将单元格的背景颜色设置为绿色。单击第二个空表格单元格会设置另一个隐藏输入的值,并将第二个单元格的背景颜色更改为红
这是一个非常具体的问题,我似乎找不到任何特别有帮助的内容。我有一个单链表(不是一个实现的链表,这是我能找到的全部),其中节点存储一个 Student 对象。每个 Student 对象都有变量,尽管我在
有没有办法迭代 IHTMLElementCollection? 比如 var e : IHTMLLinkElement; elementCollection:IHTMLElementCollect
我正在尝试用 Java 取得高分。基本上我想要一个 HashMap 来保存 double 值(因此索引从最高的 double 值开始,这样我更容易对高分进行排序),然后第二个值将是客户端对象,如下所示
我想在宏函数中运行 while/until 循环,并限制其最大迭代次数。我找到了如何在“通常”sas 中执行此操作: data dataset; do i=1 to 10 until(con
Iterator iterator = plugin.inreview.keySet().iterator(); while (iterator.hasNext()) { Player key
晚上好我有一个简单的问题,我警告你我是序言的新手。假设有三个相同大小的列表,每个列表仅包含 1、0 或 -1。我想验证对于所有 i,在三个列表的第 i 个元素中,只有一个非零。 此代码针对固定的 i
我在 scheme 中构建了一个递归函数,它将在某些输入上重复给定函数 f, n 次。 (define (recursive-repeated f n) (cond ((zero? n) iden
我是一名优秀的程序员,十分优秀!