1

我必须在 O (n^2) 时间复杂度最长的两个不同大小列表的后缀下进入球拍。我禁止在列表上使用反向或辅助前缀函数,我需要以相同的顺序获得结果.

(define (common-suffix L1 L2)
  (if (= (length L1) (length L2))      
     (if (= 0  (min (length L1) (length L2)))
         '()         
         (if (equal? (car L1) (car L2))
             (append  (cons (car L1) null) (common-suffix (cdr L1) (cdr L2)))
             (append (common-suffix (cdr L1) (cdr L2)) null)))
     (if (< (length L1) (length L2))
         (common-suffix L1  (cdr L2))
         (common-suffix (cdr L1) L2))))

这是我的实现,我只需要知道它是否低于 O (N^2) 时间复杂度。谢谢:)

4

0 回答 0