주어진 숫자의 오름차순으로 목록에서 두 요소 찾기

모두

주어진 숫자가 그 사이에있는 두 요소를 검색하는 함수를 작성하고 싶습니다. (element1 <num <element2) 및 목록에서 첫 번째 요소의 위치.

;; check x is between num-1 and num-2
(define (in-between? x num-1 num-2)
      (or (and (> num-1 x) (< num-2 x))
          (and (> num-2 x) (< num-1 x))))

;; the list elements values are always in ascending order
(define lst '(0 0 0 1 1 1 2 2 2 3 3 4 4 5 5 6 6 6 7))

(define num 4.5)
;; expected-output=> 4.5 lies between element 4 and 5 of lst
;; '(4 5 12) ;; 12 is the position of first-element

;; output is list of 2 elements and the position of first-element
(define (find-interval u lst)
  (let* ([x (for/list ([a (drop-right lst 1)]
                       [b (cdr lst)]
                       [i (in-naturals)])
              (when (in-between? u a b)
                (list a b i)))])
    (car (filter list? x)))) ; to remove all #<void>
;; => '(4 5 12)

나는 사용해야 (car (filter list? x))제거 #<void>에 출력 x결과 인 '(#<void> #<void> #<void> #<void> #<void> #<void> #<void> #<void> #<void> #<void> #<void> #<void> (4 5 12) #<void> #<void> #<void> #<void> #<void>).

어떻게 그 방지 할 #<void>에서 나오는 목록 for/list에서를 x? find-interval기능에 불필요하게 긴 단계가있는 것 같습니다. 모든 제안을 환영하고 감사합니다.

렌조

목록이 항상 오름차순이라고 가정하면 함수는 반복적 인 방식으로 컴파일되는 간단한 꼬리 재귀로 정의 할 수 있습니다.

(define (find-interval el lst (pos 0))
  (cond ((null? lst) '())
        ((null? (cdr lst)) '())
        ((>= (car lst) el) '())
        ((< (car lst) el (cadr lst)) (list (car lst) (cadr lst) pos))
        (else (find-interval el (cdr lst) (+ 1 pos)))))

(find-interval 4.5 '(0 0 0 1 1 1 2 2 2 3 3 4 4 5 5 6 6 6 7))  ; => '(4 5 12)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

파이썬에서 주어진 조건을 기반으로 목록의 두 요소를 결합하는 방법

분류에서Dev

목록에서 주어진 길이의 요소에서 반복이있는 모든 순열 찾기

분류에서Dev

두 문자열 목록에서 단어의 교차점 찾기

분류에서Dev

오름차순 목록에서 내림차순으로 첫 번째와 마지막 숫자 찾기

분류에서Dev

이진 트리에서 두 숫자의 경로가 겹치는 숫자 찾기

분류에서Dev

오류 : 주어진 숫자에서 가장 큰 숫자 찾기

분류에서Dev

주어진 숫자의 합계를 구하는 요소 찾기

분류에서Dev

Haskell : 목록에서 두 개의 관련 요소 찾기

분류에서Dev

두 목록에서 일치하는 요소의 색인 찾기

분류에서Dev

다른 목록에서 주어진 색인을 기반으로 요소 교환

분류에서Dev

주어진 숫자에 대해 두 숫자의 가능한 모든 조합 / 분할 찾기

분류에서Dev

주어진 두 숫자 사이에 4 개의 숫자 (단계) 얻기

분류에서Dev

Robotframework에서 주어진 요소의 HTML 태그 가져 오기

분류에서Dev

두 개의 특정 요소가 포함 된 목록에서 목록 찾기

분류에서Dev

주어진 숫자에서 모든 숫자의 곱 찾기

분류에서Dev

두 목록의 해당 요소 간의 차이 색인 찾기

분류에서Dev

합이 목표 숫자에 접근하는 주어진 숫자 집합의 순열 찾기

분류에서Dev

R의 목록에 주어진 인덱스를 기반으로 벡터의 요소 추출

분류에서Dev

주어진 배열에서 주어진 요소 찾기

분류에서Dev

두 문자열이 특정 순서로 나타나는 경우 목록에서 요소 가져 오기

분류에서Dev

PHP preg match. 순서가 아닌 두 개의 값을 가진 요소 찾기

분류에서Dev

for 루프없이 다차원 목록의 각 하위 목록에서 주어진 요소에 액세스

분류에서Dev

논리 도움말-오름차순으로 일련의 요소 찾기

분류에서Dev

목록에서 두 번째로 큰 숫자와 가장 작은 숫자 찾기

분류에서Dev

제품 절대 차이가 최소화되도록 두 쌍의 숫자 찾기

분류에서Dev

r에서 데이터 프레임의 순위를 지정하는 방법은 목록 요소를 기반으로 일부 열을 내림차순으로, 다른 열은 오름차순으로 정렬합니까?

분류에서Dev

관련된 숫자를 기반으로 영숫자 목록에서 특정 요소 찾기-파이썬

분류에서Dev

주어진 숫자로 합계를 만드는 목록에서 숫자 쌍을 찾는 방법

분류에서Dev

두 개 이상의 목록에서 일치하는 요소 찾기

Related 관련 기사

  1. 1

    파이썬에서 주어진 조건을 기반으로 목록의 두 요소를 결합하는 방법

  2. 2

    목록에서 주어진 길이의 요소에서 반복이있는 모든 순열 찾기

  3. 3

    두 문자열 목록에서 단어의 교차점 찾기

  4. 4

    오름차순 목록에서 내림차순으로 첫 번째와 마지막 숫자 찾기

  5. 5

    이진 트리에서 두 숫자의 경로가 겹치는 숫자 찾기

  6. 6

    오류 : 주어진 숫자에서 가장 큰 숫자 찾기

  7. 7

    주어진 숫자의 합계를 구하는 요소 찾기

  8. 8

    Haskell : 목록에서 두 개의 관련 요소 찾기

  9. 9

    두 목록에서 일치하는 요소의 색인 찾기

  10. 10

    다른 목록에서 주어진 색인을 기반으로 요소 교환

  11. 11

    주어진 숫자에 대해 두 숫자의 가능한 모든 조합 / 분할 찾기

  12. 12

    주어진 두 숫자 사이에 4 개의 숫자 (단계) 얻기

  13. 13

    Robotframework에서 주어진 요소의 HTML 태그 가져 오기

  14. 14

    두 개의 특정 요소가 포함 된 목록에서 목록 찾기

  15. 15

    주어진 숫자에서 모든 숫자의 곱 찾기

  16. 16

    두 목록의 해당 요소 간의 차이 색인 찾기

  17. 17

    합이 목표 숫자에 접근하는 주어진 숫자 집합의 순열 찾기

  18. 18

    R의 목록에 주어진 인덱스를 기반으로 벡터의 요소 추출

  19. 19

    주어진 배열에서 주어진 요소 찾기

  20. 20

    두 문자열이 특정 순서로 나타나는 경우 목록에서 요소 가져 오기

  21. 21

    PHP preg match. 순서가 아닌 두 개의 값을 가진 요소 찾기

  22. 22

    for 루프없이 다차원 목록의 각 하위 목록에서 주어진 요소에 액세스

  23. 23

    논리 도움말-오름차순으로 일련의 요소 찾기

  24. 24

    목록에서 두 번째로 큰 숫자와 가장 작은 숫자 찾기

  25. 25

    제품 절대 차이가 최소화되도록 두 쌍의 숫자 찾기

  26. 26

    r에서 데이터 프레임의 순위를 지정하는 방법은 목록 요소를 기반으로 일부 열을 내림차순으로, 다른 열은 오름차순으로 정렬합니까?

  27. 27

    관련된 숫자를 기반으로 영숫자 목록에서 특정 요소 찾기-파이썬

  28. 28

    주어진 숫자로 합계를 만드는 목록에서 숫자 쌍을 찾는 방법

  29. 29

    두 개 이상의 목록에서 일치하는 요소 찾기

뜨겁다태그

보관