as long as (reversible? of-whatever-collection) is true , last is almost a
constant time operation

On Fri, Jun 10, 2011 at 8:20 AM, clojurefanxx <neuzhou...@gmail.com> wrote:

> i'm a newbie working thru 4clojure.com's problems #19 thru #21 where
> i'm asked to write a function, which when given a list or vector,
> returns the last, penultimate, or an arbitrary nth element,
> respectively.
>
> for problem #19 (return last element), using the function last was not
> accepted as a good solution for both lists and vectors, but the
> following was accepted:
>
> user=> (#(nth % (- (count %) 1)) '(5 4 3))
> 3
> user=> (#(nth % (- (count %) 1)) '[1 2 3 4 5])
> 5
>
> for problem #21, (return arbitrary element) , using the function nth
> or get was not accepted.
>
> ---------------------------------------------------------------------------------------------
> Write a function which returns the Nth element from a sequence.
>
> (= (__ '(4 5 6 7) 2) 6)
>
> (= (__ [:a :b :c] 0) :a)
>
> (= (__ [1 2 3 4] 1) 2)
>
> (= (__ '([1 2] [3 4] [5 6]) 2) [5 6])
>
> ------------------------------------------------------------------------------------------------
>
>
> i think using the nth or get functions on vectors to return an element
> at index position n should be fine performance-wise,
> but what's a general solution for lists that will perform better than
> O(n)? (i 'm assuming that's the reason why
> last, nth, and get were rejected when I tried them out as candidate
> solutions??)
>
> thanks for any help!
>
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to