[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: How the other half live
> for $d in distinct-values($seq) return $d[count($seq[. eq $d]) ge $i] > > equivalent? I think it is, and probably a lot more efficient, > although it is longer. What I have prepared as an optimization is: distinct-values($vSeq)[exists(index-of($vSeq,.)[2])] it is still O(N^2) in the general case but is many times faster for long sequences with only a small number of different items, such as a long bit sequence. -- Cheers, Dimitre Novatchev --------------------------------------- Truly great madness cannot be achieved without significant intelligence. --------------------------------------- To invent, you need a good imagination and a pile of junk ------------------------------------- Never fight an inanimate object ------------------------------------- You've achieved success in your field when you don't know whether what you're doing is work or play On Tue, Nov 18, 2008 at 6:55 AM, Andrew Welch <andrew.j.welch@xxxxxxxxx> wrote: > 2008/11/18 Dimitre Novatchev <dnovatchev@xxxxxxxxx>: >> On Mon, Nov 17, 2008 at 12:53 PM, Michael Kay <mike@xxxxxxxxxxxx> wrote: >> >>> I quite like the fact that this generalizes. >>> >>> $vSeq[index-of($vSeq,.)[$i]] >>> >> >> Yes, I intentionally omitted this in order not to overload the >> readers, nevertheless anyone who tries the five problems will >> naturally notice this generalization. > > Is: > > for $d in distinct-values($seq) return $d[count($seq[. eq $d]) ge $i] > > equivalent? I think it is, and probably a lot more efficient, > although it is longer. > > I can't see how to avoid the for expression... > > > -- > Andrew Welch > http://andrewjwelch.com > Kernow: http://kernowforsaxon.sf.net/
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|