Skip to main content

Interview question #2

This is related to PHP's array.

An array has number of elements. All elements are integers and unique, which means there is no repetitive integers.
(e.g.) $foo = array(7, 5, 9, 13, 2, 8);

You have to sort the array, provided:
  1. You should scan the elements only once.
  2. You're not allowed to compare the elements when sorting. (i.e., you're not supposed to use any comparison operators)
  3. Sorted resultant array may not be the source array.
How will you do that?

Comments

Anonymous said…
$foo = array(7, 5, 9, 13, 2, 8);

reset($foo);

$bar = array();
$barcount = 0;
while ($foo <> array()) {
$bartemp = min($foo);
$bar[$barcount] = $bartemp;
unset($foo[array_search($bartemp, $foo)]);
$barcount++;
}
print_r($foo); //empty
echo "\n";
print_r($bar); //sorted!
?>


Result:
$foo is Array
(
)

$bar is Array
(
[0] => 2
[1] => 5
[2] => 7
[3] => 8
[4] => 9
[5] => 13
)
Anonymous said…
$bar = $foo;
sort($bar);
reset($bar);
print_r($bar);
For comment#1:You are using min() which is again a comparison function. The answer is not that complex at all.

For comment#2:Are you kidding;)
Anonymous said…
http://us4.php.net/manual/en/language.operators.comparison.php
For comment#4:I meant that you're not allowed to compare the elements in anyway (using operators or functions). Probably I should have worded it better.
Anonymous said…
##Deadeasy##

Popular posts from this blog

Storing unicode texts in MySQL with phpMyAdmin

Today, I've received a personal mail/request from Sivanantham Hemamalini, working for IT leisure in Singapore. Since I was in company when received the mail, I couldn't answer immediately. If I understand the question right, it is about inputting Unicode texts especially Tamil in phpMyAdmin. PhpMyAdmin 's default characterset is iso-8859-1 and so if we enter anything in the form, browser will convert it into numerical html entities. Say for example, if we enter தமிழ் and submit the form, it will convert it to & #2980;& #2990;& #3007;& #2996;& #3021; . Because of this browser's behavior, it will be difficult to store the Unicode text as it is. Solutions Immediate solution I could think of is changing or forcing the browser's character encoding into utf-8. In Mozilla Firefox, it can be set via View -> Character Encoding -> Unicode (UTF-8) Another elegant solution might be changing the phpMyAdmin configurations so that it send...

Tamil Castes and Consolidation - Hacker Style Cheat Sheet

Tamil caste system and its hierarchies are complex and difficult to understand--due to different addressing systems. Similarly, the caste consolidation or grouping of similar or different castes under some title is extremely confusing. In many cases, the caste consolidation doesn't make any sense, but due to ulterior motives of politicians for their vote bank politics, these systems exist. So, to explain the system, I created a formula like cheat sheet: Vellalar = Pillai + Mudaliar + [Gounder] Pillai > Mudaliar ~ Gounder Thevar = Maravar + Kallar + [Agamudayar + [Senathipathi]] Senathipathi >>> Agamudiyar > Maravar ~ Kallar Agamudayar ~ Gounder Vanniyar = Padayachi + Gounder + [Naicker + [Reddy]] Naicker >>> Reddy > Padayachi ~ Gounder * Gounder is BC, Padayachi is MBC

Spotify's Greenroom Vs. Clubhouse - Missing Text Chat and Other Impacts

We have Clubhouse clones from Twitter, Facebook, Reddit, and now Spotify. Unlike others, Spotify seems to target directly into the Clubhouse audience/members. It is extremely obvious inside Clubhouse as you can find many spammy clubs and rooms created to attract the Clubhouse users. Greenroom Vs. Clubhouse I was stumbled upon one such room Clubhouse influencers are jumping off to Greenroom? - All things Hollywood . Few takeaways from the room are: Text chat is not available in Clubhouse, whereas it is available in Greenroom. This is the most talked-about USP. The recording feature is not available in Clubhouse and the same is available in Greenroom. Spotify has opened up a creator fund for Greenroom creators in the USA. However, I think, there are better indirect monetization options available for Clubhouse users. Stream's chat component & million-dollar opportunity? As I tweeted , Clubhouse can quickly bring the text chat feature by using Stream's chat component . If they...