Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: Lookahead algorithm for IP subroutine

by jeffa (Bishop)
on May 11, 2005 at 16:31 UTC ( [id://456065]=note: print w/replies, xml ) Need Help??


in reply to Lookahead algorithm for IP subroutine

This was originally on my scratchpad, it is posted here simply for TIMTOWTDI. My idea is to read through the entire array and place consecutive integers into their own "buckets." Keep pushing the integers if the next integer is consecutive into another array (which is stored in an outer array), and start a new array when no longer consecutive. Then, (and this was inspired by some of dragonchild's code) simply sort that 2-d array based on the size if the array's it contains. The first array (element) contains the largest amount of consecutive integers.

use strict; use warnings; use Data::Dumper; my @proximity = (1..5, 8..10, 15..30, 35..40); my @bucket; my $j = 0; for my $k (0 .. $#array) { if ($proximity[$k] == $proximity[$k+1] - 1) { push @{ $bucket[$j] }, $proximity[$k]; } else { $j++; } } my @ip = (sort { $#$b <=> $#$a } @bucket)[0]; print Dumper \@ip;
Your Milleage Will Vary, naturally ... but this is a fairly easy to understand solution, if not a bit memory intensive.

jeffa

L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://456065]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (6)
As of 2024-04-25 10:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found