2670.rkt 620 B

1234567891011121314151617181920212223242526272829
  1. #lang racket
  2. (define/contract (distinct-difference-array nums)
  3. (-> (listof exact-integer?) (listof exact-integer?))
  4. (let
  5. ([len (length nums)])
  6. (for/list
  7. ([i (in-range len)])
  8. (let
  9. ([head (remove-duplicates (take nums (+ i 1)))]
  10. [tail (remove-duplicates (drop nums (+ i 1)))])
  11. (- (length head) (length tail))
  12. )
  13. )
  14. )
  15. )
  16. (define (main)
  17. (define (r l e)
  18. (printf
  19. "(distinct-difference-array ~a) = ~a | Exp: ~a\n"
  20. l (distinct-difference-array l) e
  21. )
  22. )
  23. (r '(1 2 3 4 5) '(-3 -1 1 3 5))
  24. (r '(3 2 3 4 2) '(-2 -1 0 2 3))
  25. )
  26. (main)