Advertisement
Guest User

Loni The Elephant

a guest
Mar 25th, 2023
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let input = [
  2.     // '3 4 5 6',  // Ascending
  3.     // '3 4 4 5',  // Mixed
  4.     // '6 4 3 1',  // Descending
  5.     // '5 4 6 3'   // Mixed
  6. ];
  7. let print = this.print || console.log;
  8. let gets = this.gets || ((arr, index) => () => arr[index++])(input, 0);
  9.  
  10. // Взимаме входните данни и ги мапваме на числа
  11. const numbers = gets().split(" ").map(Number);
  12. const ascending = [];
  13. const descending = [];
  14.  
  15. // Проверяваме дали всички числа от масива са в низходящ ред
  16. for (let i = 0; i < numbers.length; i++) {
  17.     // Когато i стигне дължината на масива (-1) трябва да проверим дали предпоследното число е по-голямо от последното
  18.     // и ако е така да го добавим иначе винаги ще получаваме в резултата с едно число по-малко.
  19.     if (i === numbers.length -1) {
  20.         if (numbers[i - 1] > numbers[i]) {
  21.             descending.push(numbers[i]);
  22.         }
  23.     }
  24.     // Тук проверяваме дали текущото число е по-голямо от следващото, ако не е така няма смисъл да продължаваме
  25.     // и прекъсваме цикъла
  26.     if (numbers[i] > numbers[i + 1]) {
  27.         descending.push(numbers[i]);
  28.     } else {
  29.         break;
  30.     }
  31. }
  32.  
  33. // Проверяваме дали всички числа от масива са във възходящ ред
  34. for (let i = 0; i < numbers.length; i++) {
  35.  // Когато i стигне дължината на масива (-1) трябва да проверим дали текущото число(последното) е по-голямо от предпоследното
  36.  // и ако е така да го добавим иначе винаги ще получаваме в резултата с едно число по-малко.
  37.     if (i === numbers.length -1) {
  38.         if (numbers[i] > numbers[i -1]) {
  39.             ascending.push(numbers[i]);
  40.         }
  41.     }
  42.  
  43.     // Тук проверяваме дали текущото число е по-малко от следващото, ако не е така няма смисъл да продължаваме
  44.     // и прекъсваме цикъла
  45.     if (numbers[i] < numbers[i + 1]) {
  46.         ascending.push(numbers[i]);
  47.     } else {
  48.         break;
  49.     }
  50. }
  51.  
  52. // Ако дължината на масива с числа в низходящ ред е равна на дължината на масива от входните данни,
  53. // то всички числа са в низходящ ред съответно принтираме този резултат
  54. if (descending.length === numbers.length) {
  55.     console.log("Descending");
  56. } // Ако дължината на масива с числа във възходящ ред е равна на дължината на масива от входните данни,
  57. // то всички числа са във възходящ ред съответно принтираме този резултат
  58. else if (ascending.length === numbers.length) {
  59.     console.log("Ascending");
  60. } else {
  61. // Ако нито едно от горните не е вярно то остава да са само миксирани
  62. console.log("Mixed");
  63. }
  64.  
  65.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement