Sha256: 25889456f538ec6044cc16898c9a9f4c5ffcc355487ddf29c07e244c83ceb3ae

Contents?: true

Size: 303 Bytes

Versions: 133

Compression:

Stored size: 303 Bytes

Contents

(ns spiral-matrix)

(defn spiral-matrix [m n & [s]]
  (let [row (list (map #(+ s %) (range m)))]
    (if (= 1 n) row
      (->> (spiral-matrix (dec n) m (+ s m))
           (apply map list)
           (map reverse)
           (concat row)))))

(defn spiral [n] (if (zero? n) '() (spiral-matrix n n 1)))

Version data entries

133 entries across 133 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/clojure/exercises/spiral-matrix/src/example.clj
trackler-2.2.1.179 tracks/clojure/exercises/spiral-matrix/src/example.clj
trackler-2.2.1.178 tracks/clojure/exercises/spiral-matrix/src/example.clj
trackler-2.2.1.177 tracks/clojure/exercises/spiral-matrix/src/example.clj
trackler-2.2.1.176 tracks/clojure/exercises/spiral-matrix/src/example.clj
trackler-2.2.1.175 tracks/clojure/exercises/spiral-matrix/src/example.clj
trackler-2.2.1.174 tracks/clojure/exercises/spiral-matrix/src/example.clj
trackler-2.2.1.173 tracks/clojure/exercises/spiral-matrix/src/example.clj
trackler-2.2.1.172 tracks/clojure/exercises/spiral-matrix/src/example.clj
trackler-2.2.1.171 tracks/clojure/exercises/spiral-matrix/src/example.clj
trackler-2.2.1.170 tracks/clojure/exercises/spiral-matrix/src/example.clj
trackler-2.2.1.169 tracks/clojure/exercises/spiral-matrix/src/example.clj
trackler-2.2.1.167 tracks/clojure/exercises/spiral-matrix/src/example.clj
trackler-2.2.1.166 tracks/clojure/exercises/spiral-matrix/src/example.clj
trackler-2.2.1.165 tracks/clojure/exercises/spiral-matrix/src/example.clj
trackler-2.2.1.164 tracks/clojure/exercises/spiral-matrix/src/example.clj
trackler-2.2.1.163 tracks/clojure/exercises/spiral-matrix/src/example.clj
trackler-2.2.1.162 tracks/clojure/exercises/spiral-matrix/src/example.clj
trackler-2.2.1.161 tracks/clojure/exercises/spiral-matrix/src/example.clj
trackler-2.2.1.160 tracks/clojure/exercises/spiral-matrix/src/example.clj