Рубрики

Последовательные шаги на крышу

Учитывая высоту последовательных зданий, найдите максимальное количество последовательных шагов, которые можно выдвинуть, чтобы он увеличивал высоту при переходе с крыши одного здания к следующему соседнему.

Примеры :

Input : arr[] = {1, 2, 2, 3, 2}
Output : 1
Explanation :
Maximum consecutive steps from 1 to 2 OR  2 to 3.

Input : arr[] = {1, 2, 3, 4}
Output : 3

Эта проблема в основном является вариацией самого длинного возрастающего подмассива

Подходить:-

initialize count = 0
initialize maximum = 0
    if arr[i]>a[i-1]
then count increment
    else
maximum = max(maximum, count)

at the end maximum=max(maximum, count)

C ++

// код CPP, чтобы найти максимум
// количество последовательных шагов.
#include <bits/stdc++.h>

using namespace std;

  
// Функция для подсчета последовательных шагов

int find_consecutive_steps(int arr[], int len)

{

    int count = 0;

    int maximum = 0;

  

    for (int index = 1; index < len; index++) {

          

        // посчитаем количество последовательных

        // увеличение высоты здания

        if (arr[index] > arr[index - 1])

            count++;

        else

        {

            maximum = max(maximum, count);

            count = 0;

        }

    }

      

    return max(maximum, count);    

}

  
// Код драйвера

int main()

{

    int arr[] = { 1, 2, 3, 4 };

    int len = sizeof(arr) / sizeof(arr[0]);

  

    cout << find_consecutive_steps(arr, len);

}

Джава

// Java-код, чтобы найти максимум
// количество последовательных шагов.

import java.io.*;

  

class GFG {

      

    // Функция для подсчета последовательных шагов

    static int find_consecutive_steps(int arr[],

                                        int len)

    {

        int count = 0;

        int maximum = 0;

      

        for (int index = 1; index < len; index++) {

              

            // посчитаем количество последовательных

            // увеличение высоты здания

            if (arr[index] > arr[index - 1])

                count++;

            else

            {

                maximum = Math.max(maximum, count);

                count = 0;

            }

        }

          

        return Math.max(maximum, count); 

    }

      

    // Код драйвера

    public static void main (String[] args) {

          

        int arr[] = { 1, 2, 3, 4 };

        int len = arr.length;

       

        System.out.println(find_consecutive_steps(arr,

                                                len));

    }

}

  
// Этот код предоставлен Gitanjali.

python3

# Python3 код, чтобы найти максимум
# количество последовательных шагов

import math

  
# Функция для подсчета последовательных шагов

def find_consecutive_steps(arr, len):

  

    count = 0; maximum = 0

  

    for index in range(1, len):

          

        # считать количество последовательных

        # увеличение высоты здания

        if (arr[index] > arr[index - 1]):

            count += 1

              

        else:

            maximum = max(maximum, count)

            count = 0

      

    return max(maximum, count)

  
# Код драйвера

arr = [ 1, 2, 3, 4 ]

len = len(arr)

print(find_consecutive_steps(arr, len))

  

  
# Этот код предоставлен Gitanjali.

C #

// C # код, чтобы найти максимум
// количество последовательных шагов.

using System;

  

class GFG {

      

    // Функция для подсчета последовательных шагов

    static int find_consecutive_steps(int []arr,

                                        int len)

    {

        int count = 0;

        int maximum = 0;

      

        for (int index = 1; index < len; index++) {

              

            // посчитаем количество последовательных

            // увеличение высоты здания

            if (arr[index] > arr[index - 1])

                count++;

            else

            {

                maximum = Math.Max(maximum, count);

                count = 0;

            }

        }

          

        return Math.Max(maximum, count); 

    }

      

    // Код драйвера

    public static void Main () {

          

        int []arr = { 1, 2, 3, 4 };

        int len = arr.Length;

      

        Console.WriteLine(find_consecutive_steps(arr,

                                                len));

    }

}

  
// Этот код предоставлен vt_m.

PHP

<?php
// PHP-код, чтобы найти максимум
// количество последовательных шагов.

  

  
// Функция для подсчета
// последовательные шаги

function find_consecutive_steps($arr

                                $len)

{

    $count = 0;

    $maximum = 0;

  

    for ($index = 1; $index < $len

                          $index++) 

    {

          

        // посчитаем количество последовательных

        // увеличение высоты здания

        if ($arr[$index] > $arr[$index - 1])

            $count++;

        else

        {

            $maximum = max($maximum, $count);

            $count = 0;

        }

    }

      

    return max($maximum, $count); 

}

  
// Код драйвера

$arr = array( 1, 2, 3, 4 );

$len = count($arr);

  

echo find_consecutive_steps($arr, $len);

  
// Этот код предоставлен vt_m.
?>


Выход :

3

Рекомендуемые посты:

Последовательные шаги на крышу

0.00 (0%) 0 votes