PHP :: Aufgabe #325

1 Lösung Lösung öffentlich

Position im Array gesucht

Anfänger - PHP von JKooP - 18.02.2021 um 20:06 Uhr
Gegeben ist ein sortiertes Array mit einer beliebigen Anzahl von Integer-Zahlen und eine Integer-Zahl,
deren Position/Index ermittelt werden soll. Ist die Zahl nicht vorhanden,
soll ebenfalls die Position bestimmt werden, an der sie im sortierten Array eingeordnet werden müsste.

Es können aber auch, je nach Programmiersprache bzw. Vorliebe, auch andere Daten-Container wie z.B. Listen oder Vektoren genutzt werden.

Beispiele:

Array = [1, 3, 5, 7, 9]
Zahl = 7
Lösung: 3

Array = [0, 1, 3, 7, 9]
Zahl = 2
Lösung: 2

Array = [1, 4, 6, 8, 9]
Zahl = 0
Lösung: 0

Array = [1, 3, 5, 7]
Zahl = 9
Lösung: 4

Hinweis: Array ist nullbasiert!

Erstelle eine Funktion/Methode, mit der die oben genannte Problemstellung gelöst werden kann.

Viel Spaß

Lösungen:

vote_ok
von Exception (7090 Punkte) - 26.06.2021 um 22:39 Uhr
Quellcode ausblenden PHP-Code
<?php

$position = function(array $array, int $number): int {
  if (!in_array($number, $array)) {
  	$array[] = $number;
    sort($array);
  }
  
  return array_search($number, $array);
};

var_dump($position([1, 3, 5, 7, 9], 7) === 3);
var_dump($position([0, 1, 3, 7, 9], 2) === 2);
var_dump($position([1, 4, 6, 8, 9], 0) === 0);
var_dump($position([1, 3, 5, 7], 9) === 4);

Konsolenausgabe:

bool(true)
bool(true)
bool(true)
bool(true)