blob: 468ad63549bbc7b6dcd9440e5c8e448c8a2d463d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
;;; hamming.el --- Hamming (exercism)
;;; Commentary:
;;; Code:
(require 'cl-seq)
(require 'cl-lib)
(defun kj/sum (lst)
(cl-reduce #'+ lst :initial-value 0))
(defun hamming-distance (l1 l2)
(when (not (eql (length l1) (length l2)))
(error 'lengths-differ))
(let ((fn (lambda (x y)
(if (equal x y)
0
1))))
(kj/sum (cl-mapcar fn l1 l2))))
(provide 'hamming)
;;; hamming.el ends here
|