Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Pętla for oraz if
hunter777
post
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 8.02.2017

Ostrzeżenie: (0%)
-----


mam takie zadanko,
sprawdź tablicę znaków np [1,1,3,4] i jeśli można za pomocą zabrania tylko jednego elementu sprawić by ciąg liczb był rosnący zwróć true.

zrobiłem to tak

  1. function almostIncreasingSequence($sequence) {
  2. $t = $sequence;
  3. $j = count($sequence);
  4.  
  5.  
  6.  
  7. for ($i=0; $i<$j; $i++) {
  8. $a[$i] = $t[$i];
  9. $b[$i] = $t[$i-1];
  10.  
  11. if ($b > $a) {
  12. $c = $c++;
  13.  
  14. return $c; }
  15. }
  16.  
  17. }
  18. if ($c > 2) {
  19.  
  20. return false;
  21.  
  22. } else {
  23.  
  24. return true;
  25. }


ale to niestety nie działa, wychodzi mi z pętli po jednym elemencie...
coś robię nie tak..

ja to wymyśliłem tak, sprawdź każdy element w tablicy i porównaj każdy kolejny z poprzednim i jeśli poprzedni jest większy od następnego to zwiększ licznik, jeśli licznik będzie większy niż 1 tzn, że mam więcej niż jedną liczbę...

poproszę o jakieś sugestie a nie gotowe rozwiązanie, z góry dziękuję
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
trzczy
post
Post #2





Grupa: Zarejestrowani
Postów: 460
Pomógł: 49
Dołączył: 5.06.2011

Ostrzeżenie: (0%)
-----


Może to
  1. <?php
  2. function testAsc($array) {
  3. $memory=null;
  4. foreach($array as $member) {
  5. if ($memory)if($member<=$memory)return false;
  6. $memory=$member;
  7. }
  8. return true;
  9. }
  10.  
  11. function solution($array) {
  12. for($i=0;$i<count($array);$i++) {
  13. $currentArray=array_filter($array, function($index) use($i) {
  14. return $i != $index;
  15. }, ARRAY_FILTER_USE_KEY);
  16. if(testAsc($currentArray)) return implode($currentArray) . "\n";
  17. }
  18. return 'nie da sie' . "\n";
  19. }
  20.  
  21. echo solution([1, 2, 3, 4]);//234
  22. echo solution([1, 7, 7, 4]);//nie da sie
  23. echo solution([1, 7, 2, 4]);//124

https://3v4l.org/2CZ2N

Ten post edytował trzczy 7.11.2017, 08:15:17
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 09:57