Drugari, pokušavam da napišem funkciju koja će iz niza brojeva izbrojati najduži podniz rastućih brojeva? Ako je niz sastavljen od brojeva 2,3,1,4,7,8,0, najduži podniz je 1,4,7, 8 i njega čine 4 brojeva. Ako korisnik unese 0 ili je niz prazan, onda dobija odgovor 0. Uspeo sam da odradim ovaj prvi deo zadatka gde izvlačim najduži niz. Rešenje za unos 0 mi prijavljuje grešku....Evo kako izgleda moj kod. Svaka pomoć je dobrodošla. Hvala unapred.
Code:
<?php
function longestSortedSequence($arr)
{
$counter = 0;
$counters = array();
for ($i = 1;$i < count($arr);$i++) {
if ($arr[$i]>$arr[$i-1] OR $arr[$i]==$arr[$i-1]) {
$counter++;
array_push($counters,$counter);
}
else {
$counter = 0;
}
}
return max(array_values($counters))+1;
}
echo "Enter No of elements:";
$count=trim(fgets(STDIN));
$arr = Array();
echo "Enter elements:";
for($i=0;$i<$count;$i++)
{
$arr[$i]=trim(fgets(STDIN));
}
if (empty($arr) OR $arr[0]==0) {
echo "0";
exit;
}
echo "Longest Sequence:";
echo longestSortedSequence($arr);
exit;
?>
<?php
function longestSortedSequence($arr)
{
$counter = 0;
$counters = array();
for ($i = 1;$i < count($arr);$i++) {
if ($arr[$i]>$arr[$i-1] OR $arr[$i]==$arr[$i-1]) {
$counter++;
array_push($counters,$counter);
}
else {
$counter = 0;
}
}
return max(array_values($counters))+1;
}
echo "Enter No of elements:";
$count=trim(fgets(STDIN));
$arr = Array();
echo "Enter elements:";
for($i=0;$i<$count;$i++)
{
$arr[$i]=trim(fgets(STDIN));
}
if (empty($arr) OR $arr[0]==0) {
echo "0";
exit;
}
echo "Longest Sequence:";
echo longestSortedSequence($arr);
exit;
?>
Potpis
"Stop crying Eddie, cuz you can get the fuck out."
"You're gettin' the fuck...
I know you're seven !"
"But you'll be a seven year old
walkin' the dog no house motherfucker !"
"You're gettin' the fuck...
I know you're seven !"
"But you'll be a seven year old
walkin' the dog no house motherfucker !"