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