On 25 Mar 2015, at 17:02, Dimitre Novatchev dnovatchev(_at_)gmail(_dot_)com
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:
And if you just need the boolean (true()/false()) indicating whether
a sequence has duplicate values -- not needing the values themselves
-- then use the following, slightly adjusted and more efficient
expression:
exists($vSeq[index-of($vSeq,.)[2]][1] )
I think that if there are no duplicates, this is O(n^2), whereas the
distinct-values solution is O(n log n). Harder to judge how they compare if
duplicates are more probable: I think this is O(m*n) where n is the size of the
sequence and m is the expected number of items between two duplicates, i.e.
m=1/p where p is the probability of an item being a duplicate.
Michael Kay
Saxonica
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--