Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: Efficient selection mechanism?

by kcott (Archbishop)
on Jan 14, 2014 at 15:16 UTC ( [id://1070567]=note: print w/replies, xml ) Need Help??


in reply to Efficient selection mechanism?

G'day BrowserUk,

Using your 5 subarrays, I selected the middle one ([ 0, 10, 11, 19 ]): that should find the first and last subarrays as being the only ones not containing any of the integers: 0, 10, 11, 19.

I don't believe this should consume huge amounts of memory:

#!/usr/bin/env perl -l use strict; use warnings; my @AoA = ( [ 2, 13, 3, 16 ], [ 10, 1, 11, 6 ], [ 0, 10, 11, 19 ], [ 6, 1, 19, 15 ], [ 17, 6, 18, 12 ], ); my $selected = $AoA[2]; my %unique = map { $_ => 1 } @$selected; print "@$_" for grep { ! map { $_ ? $_ : () } @unique{@$_} } @AoA;

Output:

2 13 3 16 17 6 18 12

-- Ken

Replies are listed 'Best First'.
Re^2: Efficient selection mechanism?
by Laurent_R (Canon) on Jan 14, 2014 at 17:52 UTC
    Hi, this is also the approach that I was thinking to suggest. Using a hash to store the selected array is the easiest way. I do nt know whether it will be the fastest, but it will certainly be fairly fast.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (3)
As of 2024-04-26 04:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found