For longer subsequences consider using

(10 (128!:3)\ ])

to reduce the size of the intermediate array.

Henry Rich

On 7/21/2015 12:49 AM, Vijay Lulla wrote:
Using slightly less space

(~. #~ 1 < #/.~)@(10 ]\ ]) s

On Mon, Jul 20, 2015 at 11:59 PM, Tikkanz <[email protected]> wrote:
(i.~ ~: i:~) will find duplicates so how about:

     ~.@(#~ i.~ ~: i:~)@(10 ]\ ]) s

AAAAACCCCC

CCCCCAAAAA



On Tue, Jul 21, 2015 at 3:51 PM, Jon Hough <[email protected]> wrote:

This is a problem from leetcode.com (similar to Project Euler)
https://leetcode.com/problems/repeated-dna-sequences/
The problem is to find all 10 letter repeated subsequences from a DNA
string (made of C,G,A,T characters).
My solution:
func =: (I.@:(1&<)@:>@:(1&{)@:(~. ,: <"0@:(#/.~)) { ])@:(<"1@:(10&(]\)))
e.g. s =: 'AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT' NB. see the link for this
definition
func s
┌──────────┬──────────┐

│AAAAACCCCC│CCCCCAAAAA│

└──────────┴──────────┘



It is not very pretty. Can anyone improve on it?

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to