Lisp Array Maximal Adjacement Difference
(defun array-maximal-adjacent-difference (a)
(let* ((vec (coerce a 'vector))
(c (length vec))
(dif 0))
(loop for i from 1 below (1- c)
do (setf dif (max dif
(abs (- (aref vec i) (aref vec (1- i))))
(abs (- (aref vec i) (aref vec (1+ i)))))))
dif))
This checks the gap between each pair of neighbors and returns the largest difference.