Skip to content

Instantly share code, notes, and snippets.

@Tavistock
Created June 11, 2019 14:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Tavistock/a1c3adf631dbf07de36765beda65038f to your computer and use it in GitHub Desktop.
Save Tavistock/a1c3adf631dbf07de36765beda65038f to your computer and use it in GitHub Desktop.
(declare fill)
(defn fill*
([k ri] (fill k ri []))
([k ri si]
(let [{:keys [w] :as ci} (first ri)
rr (rest ri)]
(cond
(nil? ci) si
(< k w) (fill k rr si)
:else (max-key sum-v
(fill (- k w) rr (conj si ci))
(fill k rr si))))))
(def fill (memoize fill*))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment