Skip to content

Aurélien STRIDE

  • Projets personnels
    • Projets Web personnels
    • Language-of.love
    • Squary Movey / Taiketsu-Doku
    • Sudokube / Wordokube / Linkube
    • Recyclage Augmenté
    • Réflexions en 3D
    • Fièvre de cheval du samedi soir
    • Concours divers
  • Dessins
    • 1998 – Arts Appliqués
    • Actualités
    • Compteurs d’eau
    • Divorce
    • Enquêtes
    • GPS
    • Immobilier
    • Informatique
    • Psycho
    • SNCF
    • Vie de couple
    • Dessins divers
  • Musiques
    • 2016 – Oxydoréduction
    • 2012-Maint. – Mashups
    • 2008-2016 – Indaba Remixes
    • 2013 – Live @ Mistral Palace
    • 2012 – Symphonie Electronique
    • 2010 – Metric : Fantasies
    • 2008 – Marcy Playground : Leaving Wonderland
    • 2008-2010 – Ganadji-Nesis
    • 2008-2009 – Mandalas
    • 2007-2009 – Electrons Libres
    • 2006-2007 – Manifest for a generation
    • 2003 – De Inferni Profundis
    • 1997 – MODified
    • Par genre
      • Ambient
      • Jazz
      • Hip-Hop
      • Nightclub
    • Morceaux non classés
    • Vidéos musicales
    • Playlist Soirée Château de Fitou
  • Travaux graphiques
    • Affiches / Flyers
    • Cartes de visite
    • Jaquettes CD-DVD
    • Logos & Bannières
    • Photomontages
    • Sketchups
    • Weavesilk
  • Tutoriels
    • Les outils du dépanneur informatique
    • Liste de mes programmes favoris
    • L’installation idéale d’un OS
    • Installer un serveur web sous Unix
  • Liens favoris
  • Road Trip

Aurélien STRIDE

Life & Works

Une méthode de recrutement géniale !

22 octobre 2019 by webmaster

Le site kSkills propose, aux chercheurs d’emploi dans les domaines IT, de soumissionner par le biais d’un défi code. Le principe : au lieu d’envoyer un CV, vous créez une fonction demandée dans un langage donné.

Avec ChooseYourBoss, le concours est de trouver le nombre de plages qui ne se chevauchent pas parmi une liste donnée. Voici mon code (ne le copiez pas, je saurai que c’est vous…) :

<?php
function main()
{
	$stdin = fopen('php://stdin', 'r');
	$stdout = fopen('php://stdout', 'w');
	//Write your code here ...
    
	// Get events number
    $nb_events=trim(fgets($stdin));
	$total=0;
	
    if(is_numeric($nb_events))
    {
        $tEvents=array();
        for($i=0;$i<$nb_events;$i++)
        {
			// Read events
            $event=   trim(fgets($stdin));
            $tEvent=explode(';',$event);
            $temp=array();
			
			//Check limit dates
			$temp['length']=$tEvent[1];
			$temp['start']=$tEvent[0];
			$temp['end']=date('Y-m-d', strtotime($temp['start']) + (($tEvent[1]-1) * 86400));

			$tEvents[$temp['start'].'_'.$i]=$temp;
			$temp=null;
        }
		
		//Sort by start date
		ksort($tEvents);

		//Check datas
		$t=array_keys($tEvents);
		$tResults=array();
		for($i=0;$i<count($tEvents)-1;$i++)
		{
			$temp=$tEvents[$t[$i]];
			
			for($j=$i+1;$j<count($tEvents);$j++)
			{
				$tempNext=$tEvents[$t[$j]];
				if($temp['end']<$tempNext['start'])
				{
					$tResults[$i]=$j;
					break;
				}
			}
		}
		
		$total=0;
		
		$tMax=array();
		$max=0;

		// Following chains...
		foreach($tResults as $key=>$void)
		{
			$i=$key;
			$tMax[$key]=1;
			
			while(1)
			{
				if(isset($tResults[$i]))
				{
					
					$tMax[$key]++;
					// Biggest chain?
					if($max<$tMax[$key]) $max=$tMax[$key];

					$i=$tResults[$key];
					
				}
				else
					break;
			}
		}
		
		// Retun biggest
		$total=$max;
    }
	
	fwrite($stdout, $total);
	
	fclose($stdout);
	fclose($stdin);
}

main();
?>

Post navigation

Previous Post:

Afficher la preview d’une vidéo Youtube

Next Post:

Une porte coulissante pour petite entrée

[Mashup] Canned Heat meets Mar-Keys - Let's work last night
[Remix] Skype Ringtone
  • Blog
  • Dessins
    • 1998 - Arts Appliqués
    • Actualités
    • Compteurs d'eau
    • Dessins divers
    • Divorce
    • Enquêtes
    • GPS
    • Immobilier
    • Informatique
    • Psycho
    • SNCF
    • Vie de couple
  • Ecrits
    • Chanson : Albinoni mélancolique
    • Chanson : Igor le fantôme
    • Chanson : J'ai besoin de vacances...
    • Chanson : Leave me alone
    • Livre : Discours pour la Présidence
    • Livre : L'affaire des brosses à dents
    • Livre : Le lycanthrope contemporain
    • Livre : Mon perfectionnisme
    • Livre : My Ultimate Fonts Collection
    • Poème : Amour
    • Poème : Au revoir
    • Poème : Dévouement
    • Poème : Everlasting
    • Poème : Infidèle
    • Poème : La route est longue
    • Poème : Messages
    • Poème : Ô Nuit
    • Poème : Regard
    • Poème : Romance
    • Poème : Sadness
    • Poème : Un inadapté
    • Poème : Vouloir mourir
    • Poème : Voyage Initiatique
  • Emploi
    • 1999 - Menuisier chez Manpower
  • Liens favoris
  • Musiques
    • 1997 - MODified
    • 2003 - De Inferni Profundis
    • 2006-2007 - Manifest for a generation
    • 2007-2009 - Electrons Libres
    • 2008 - Marcy Playground : Leaving Wonderland
    • 2008-2009 - Mandalas
    • 2008-2010 - Ganadji-Nesis
    • 2008-2016 - Indaba Remixes
    • 2010 - Metric : Fantasies
    • 2011-2013 - Liaisons Covalentes
    • 2012 - Symphonie Electronique
    • 2012-2023 - Mashups
    • 2013-2015 - Lives @ Mistral Palace
    • 2016 - Music Maker Jam (Android)
    • 2016 - Oxydoréduction
    • Morceaux non classés
    • Par genre
      • Ambient
      • Disco
      • Hip-Hop
      • Jazz
      • Nightclub
      • Playlist Soirée Château de Fitou
    • Vidéos musicales
  • Projets personnels
    • Concours divers
    • Fièvre de cheval du samedi soir
    • Language-of.love
    • Projets Web personnels
    • Recyclage Augmenté
    • Réflexions en 3D
    • Squary Movey / Taiketsu-Doku
    • Sudokube / Wordokube / Linkube
  • Qui suis-je ?
  • Travaux graphiques
    • Affiches / Flyers
    • Cartes de visite
    • Jaquettes CD-DVD
    • Logos & Bannières
    • Photomontages
    • Sketchups
    • Weavesilk
  • Tutoriels
    • Installer un serveur web sous Unix
    • L'installation idéale d'un OS
    • Les outils du dépanneur informatique
    • Liste de mes programmes favoris
© 2025 Aurélien STRIDE - Powered by Minimalisticky