1a) |
Essentially O(n2) runtime. (O(n*m) to be precise.) |
1b) |
Either use some sort of hashing function or sort the b_array and use binary search to cut down on the cost of looking up an element. In Perl, a hash is the natural approach.
my %b_value;
@b_value{@b_array}=();
my @c_array = grep exists $b_value{$_}, @a_array;
|
2) |
my $i;
while($i < $#array/2) {
my $copy = $array[$i];
$array[$i] = $array[-$i];
$array[-$i] = $copy;
++$i;
}
|
3) |
It requires a database capable of handling concurrent requests. They need to be transformed into some common query lanague, probably SQL. Results will be churned through a templating system depending on the desired result format. |
I think the questions are more than fair; in fact, they're close to trivial. I wouldn't want to employ anyone who fails on these. I remember reading about an interview question Michael Abrash uses:
Implement in-order walking of a binary tree. Do not use recursion.
Hardly surprising, though saddening, that as he noted, failure rates on this one are pretty spectacular.
Update: see ++Abigail-II's comment on excercise 1b.
Makeshifts last the longest.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|