lisp 習題 occurrences
- 定義一個函式,接受一個列表並返回一個列表,指出相等元素出現的次數,並由最常見至最少見的排序:
> (occurrences '(a b a d a c d c a)) ((A . 4) (C . 2) (D . 2) (B . 1))
(defun cnt-item (item lst) (let (( cnt 0)) (dolist (obj lst) (if (equal obj item) (setf cnt (+ cnt 1)))) (cons item cnt))) CL-USER> (cnt-item 'a '(a b c a)) (A . 2) CL-USER> (defun occ (lst) (if (null lst) nil (let ((x nil)) (dolist (obj lst) (pushnew (cnt-item obj lst) x ))x))) STYLE-WARNING: redefining COMMON-LISP-USER::OCC in DEFUN OCC CL-USER> (occ '(a b b a c)) ((C . 1) (A . 2) (B . 2) (B . 2) (A . 2)) CL-USER> (defun occ (lst) (if (null lst) nil (let ((x nil)) (dolist (obj lst) (pushnew (cnt-item obj lst) x :test #'equal ))x))) STYLE-WARNING: redefining COMMON-LISP-USER::OCC in DEFUN OCC CL-USER> (occ '(a b b a c)) ((C . 1) (B . 2) (A . 2)) CL-USER> CL-USER> (occ '(a a b b c c (a.c) b b a c)) (((A.C) . 1) (C . 3) (B . 4) (A . 3)) CL-USER> |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/133735/viewspace-740280/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- lisp 習題 post+Lisp
- lisp 習題 our-unionLisp
- lisp 習題 矩陣旋轉Lisp矩陣
- lisp 習題 錢幣換算問題Lisp
- lisp 習題 區分非遞減的列表Lisp
- lisp 習題 (member '(a) '((a) (b))) 為什麼返回nilLisp
- lisp 習題 用列表元素標識檔案一行。Lisp
- 99-lisp lisp 的99個問題 P11-20Lisp
- 99-lisp lisp 的99個問題 P1-10Lisp
- 【轉】Lisp 已死,Lisp 萬歲!Lisp
- Page directive must not have multiple occurrences of pageencodingEncoding
- Common lisp HyperSpec lisp 語法幫助Lisp
- 關於lispLisp
- 99-lispLisp
- lisp入門Lisp
- lisp 閉包Lisp
- Lisp 整體思想Lisp
- Lisp 的本質Lisp
- Lisp的誕生Lisp
- Lisp天才神話Lisp
- lisp 程式碼示例Lisp
- lisp 判斷時間Lisp
- Lisp求平方根Lisp
- 向偉大Lisp致敬Lisp
- Common LISP Hints 中文Lisp
- Lisp語言簡介Lisp
- lisp 開發規範。Lisp
- Lisp Quote 和Backquote分析Lisp
- Lisp的永恆之道Lisp
- Lisp 永遠成不了程式設計主流語言 vs Lisp 神話之路Lisp程式設計
- Lisp經典演算法Lisp演算法
- lisp 變數的作用域Lisp變數
- lisp 中的 【,@】 與 【·】 以及【‘】 以及【 。,】Lisp
- 跨越邊界: Lisp 之美Lisp
- lisp 支援遠端debugLisp
- windows下搭建lisp環境WindowsLisp
- Educational Codeforces Round 95 (Rated for Div. 2) G. Three Occurrences
- [LeetCode] 3090. Maximum Length Substring With Two OccurrencesLeetCode