"Hi, I wrote a basic o(n^4) solution to see how simple it could get. The code looks nice to me, but it's slloooow :) like 1 hour on the 3200 chars string.. http://paste.factorcode.org/paste?id=3843
I noticed we have 1 function in common : remove-after-underscore. You can can see how head and when* make my implementation shorter (and more readable?) Cheers, Jon On Wed, Feb 24, 2016 at 5:50 AM, Sankaranarayanan Viswanathan <rationalrev...@gmail.com> wrote: > Hi, > > It had been awhile since I wrote any Factor code, so I was trying to > solve the following problem from reddit's dailyprogrammer subreddit: > http://bit.ly/1OtP8Qj > > The solution I came up with in Factor looks like this: > http://bit.ly/1PY8j98 > > I struggled quite a lot coming up with this. Mainly in keeping things in > my head and figuring out what I needed to do to bring the stack in order > for the operations I was attempting.. > > Coming from an iterative programming background (with a little bit of > exposure to functional programming), I find it quite hard to formulate > solutions in Factor. Can someone help me with tips on how they approach > writing code in Factor? What is your though process to turn a given > pseudo code into a factor program? > > For example, my pseudo code for the main portion of this problem (the > find-match function) was as follows: > > let buff = "" > let match = (indx=0, length=-1) > for each char c in input: > find count(c) in buff > if count == 2 > append c to buff > check if str(first c to end) is longest and update match > remove chars in buff before second c occurrence > else if count == 1 > append c to buff > check if str(first c to end) is longest and update match > remove chars in buff before first c occurrence > else > append c to buff > discard buff and return match > > Any pointers is greatly appreciated. > > Thanks, > Sankar > > > ------------------------------------------------------------------------------ > Site24x7 APM Insight: Get Deep Visibility into Application Performance > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > Monitor end-to-end web transactions and take corrective actions now > Troubleshoot faster and improve end-user experience. Signup Now! > http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 > _______________________________________________ > Factor-talk mailing list > Factor-talk@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/factor-talk ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 _______________________________________________ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk