方案:连续3个数字,实现

维瓦夫

目前,我有一个元素列表(1 2 1 2 2 0 0 1 0)。

我要编写的函数的要点是,它应该显示一种可能性,即连续显示3个相同的数字(这是“中标”的情况)。

我想要的输出是(1 2 1 2 2 2 0 1 0)。该函数在被调用时的格式为(display(next 2(list)))

我假设我会选择列表中的汽车,并且如果有办法存储/记住我所得到的汽车(以防我再次要求它,并想检查它是否匹配)。

乌塞尔帕

最接近基本循环的是命名的let结构。这是一个适用于您的问题的简单实现:

(define (next e lst)
  ; l1 : part of the list already processed (reversed)
  ; l2 : part of the list still to be processed
  ; c-2: element before previous
  ; c-1: previous element
  ; res: result (list of winning cases
  (let loop ((l1 null) (l2 lst) (c-2 null) (c-1 null) (res null))
    (if (null? l2)
        (reverse res)
        (let ((ca (car l2)) (cd (cdr l2)))
          (loop (cons ca l1) cd c-1 ca
                (if (and (= ca 0) (= c-2 e) (= c-1 e))
                    (cons (append (reverse l1) (cons c-1 cd)) res) ; build winning case
                    res))))))

然后

> (next 2 '(1 2 1 2 2 0 0 1 0))
'((1 2 1 2 2 2 0 1 0))

> (next 2 '(1 2 1 2 2 0 2 2 0))
'((1 2 1 2 2 2 2 2 0) (1 2 1 2 2 0 2 2 2))

> (next 1 '(1 2 1 2 2 0 1 1 0))
'((1 2 1 2 2 0 1 1 1))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用修饰的约束使3个数字连续

来自分类Dev

正则表达式来捕获连续2个数字,但如果3个或更多不捕获

来自分类Dev

写一个数字作为连续素数的总和

来自分类Dev

在python中打印最大连续1个数字

来自分类Dev

连续找出最大的三个数字

来自分类Dev

Perl:匹配4个连续数字中的3对数字

来自分类Dev

Perl:匹配4个连续数字中的3对数字

来自分类Dev

汇编中3个数字的均值

来自分类Dev

生成包含3个数字的矩阵

来自分类Dev

最多3个数字的乘法Swift

来自分类Dev

如何计算3个数字的GCD

来自分类Dev

在矩阵中排列八个连续的数字,以便没有两个数字相邻

来自分类Dev

如何将数字连续组合成一个数字

来自分类Dev

一个数字连续出现几次而没有间断或数字变化python / numpy

来自分类Dev

如何输出3个数字中的最高数字?

来自分类Dev

如何在方案中给一个数字一个前导零

来自分类Dev

C数组中3个连续数字的最大和

来自分类Dev

JavaScript for循环:跳过2个数字,后跟3个数字

来自分类Dev

查找一个数字的所有非连续平方和

来自分类Dev

在数据帧中连续零之后找到第一个数字

来自分类Dev

如何使用excel查找某个变量的最后一个数字(连续)

来自分类Dev

如何在拨号方案中匹配两个或多个数字?

来自分类Dev

在VimGolf上挑战“每行一个数字”:#82解决方案如何工作?

来自分类Dev

数字以及可被另一个数字整除的数字的数字(例如 3)

来自分类Dev

给定1至10个元素的数组的4个数字。查找3个数字,它们的总和可以生成所有四个数字?

来自分类Dev

从数组中获取最高的3个数字?

来自分类Dev

在3个数字之间找到最小值

来自分类常见问题

从infile获取列表中的前3个数字-python

来自分类Dev

最多获取3个数字,并使用各自的名称

Related 相关文章

  1. 1

    使用修饰的约束使3个数字连续

  2. 2

    正则表达式来捕获连续2个数字,但如果3个或更多不捕获

  3. 3

    写一个数字作为连续素数的总和

  4. 4

    在python中打印最大连续1个数字

  5. 5

    连续找出最大的三个数字

  6. 6

    Perl:匹配4个连续数字中的3对数字

  7. 7

    Perl:匹配4个连续数字中的3对数字

  8. 8

    汇编中3个数字的均值

  9. 9

    生成包含3个数字的矩阵

  10. 10

    最多3个数字的乘法Swift

  11. 11

    如何计算3个数字的GCD

  12. 12

    在矩阵中排列八个连续的数字,以便没有两个数字相邻

  13. 13

    如何将数字连续组合成一个数字

  14. 14

    一个数字连续出现几次而没有间断或数字变化python / numpy

  15. 15

    如何输出3个数字中的最高数字?

  16. 16

    如何在方案中给一个数字一个前导零

  17. 17

    C数组中3个连续数字的最大和

  18. 18

    JavaScript for循环:跳过2个数字,后跟3个数字

  19. 19

    查找一个数字的所有非连续平方和

  20. 20

    在数据帧中连续零之后找到第一个数字

  21. 21

    如何使用excel查找某个变量的最后一个数字(连续)

  22. 22

    如何在拨号方案中匹配两个或多个数字?

  23. 23

    在VimGolf上挑战“每行一个数字”:#82解决方案如何工作?

  24. 24

    数字以及可被另一个数字整除的数字的数字(例如 3)

  25. 25

    给定1至10个元素的数组的4个数字。查找3个数字,它们的总和可以生成所有四个数字?

  26. 26

    从数组中获取最高的3个数字?

  27. 27

    在3个数字之间找到最小值

  28. 28

    从infile获取列表中的前3个数字-python

  29. 29

    最多获取3个数字,并使用各自的名称

热门标签

归档