fork(16) download
  1. <?php
  2.  
  3. function almostIncreasingSequence($sequence) {
  4. $foundOne = false;
  5.  
  6. for ($i = -1, $j = 0, $k = 1; $k < count($sequence); $k++)
  7. {
  8. $deleteCurrent = false;
  9. if ($sequence[$j] >= $sequence[$k])
  10. {
  11. if ($foundOne)
  12. {
  13. return false;
  14. }
  15. $foundOne = true;
  16. if ($k > 1 && $sequence[$i] >= $sequence[$k])
  17. {
  18. $deleteCurrent = true;
  19. }
  20. }
  21. if (!$foundOne)
  22. {
  23. $i = $j;
  24. }
  25. if (!$deleteCurrent)
  26. {
  27. $j = $k;
  28. }
  29. }
  30. return true;
  31. }
  32.  
  33. var_dump(almostIncreasingSequence([1,3,2]));//true
  34. var_dump(almostIncreasingSequence([1,3,2,1]));//false
  35. var_dump(almostIncreasingSequence([2,1,2,3]));//true
  36.  
  37. var_dump(almostIncreasingSequence([1,2,3]));
  38. var_dump(almostIncreasingSequence([1,2,3,0]));
  39. var_dump(almostIncreasingSequence([9,1,2,3,0]));
  40. var_dump(almostIncreasingSequence([1,2,9,3,4]));
  41. var_dump(almostIncreasingSequence([1,2,9,0,3,4]));
  42. var_dump(almostIncreasingSequence([1,2,8,9,3,4]));
  43.  
Success #stdin #stdout 0.01s 83456KB
stdin
Standard input is empty
stdout
bool(true)
bool(false)
bool(true)
bool(true)
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)