Рубрики

Количество индексов в массиве, которые удовлетворяют данному условию

Учитывая массив arr [] из N натуральных чисел, задача состоит в том, чтобы найти число индексов i , чтобы все элементы от arr [0] до arr [i — 1] были меньше, чем arr [i] .

Примеры:

Input: arr[] = {1, 2, 3, 4}
Output: 4
All indices satify the given condition.

Input: arr[] = {4, 3, 2, 1}
Output: 1
Only i = 0 is the valid index.

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

Ниже приведена реализация вышеуказанного подхода:

C ++

// C ++ реализация подхода
#include <bits/stdc++.h>

using namespace std;

  
// Функция для возврата счета
// индексов, которые удовлетворяют
// данное условие

int countIndices(int arr[], int n)

{

  

    // Для сохранения результата

    int cnt = 0;

  

    // Сохранить текущий максимум

    // Инициализирован на 0, так как есть только

    // положительные элементы в массиве

    int max = 0;

    for (int i = 0; i < n; i++) {

  

        // я действительный индекс

        if (max < arr[i]) {

  

            // Обновление максимума до сих пор

            max = arr[i];

  

            // Увеличиваем счетчик

            cnt++;

        }

    }

  

    return cnt;

}

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

int main()

{

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

    int n = sizeof(arr) / sizeof(int);

  

    cout << countIndices(arr, n);

  

    return 0;

}

Джава

// Java реализация подхода

class GFG 

{

  
// Функция для возврата счета
// индексов, которые удовлетворяют
// данное условие

static int countIndices(int arr[], int n)

{

  

    // Для сохранения результата

    int cnt = 0;

  

    // Сохранить текущий максимум

    // Инициализирован на 0, так как есть только

    // положительные элементы в массиве

    int max = 0;

    for (int i = 0; i < n; i++) 

    {

  

        // я действительный индекс

        if (max < arr[i]) 

        {

  

            // Обновление максимума до сих пор

            max = arr[i];

  

            // Увеличиваем счетчик

            cnt++;

        }

    }

    return cnt;

}

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

public static void main(String[] args) 

{

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

    int n = arr.length;

  

    System.out.println(countIndices(arr, n));

}
}

  
// Этот код предоставлен Rajput-Ji

python3

# Python реализация подхода

  
# Функция для возврата счета
Количество индексов, которые удовлетворяют
# данное условие

def countIndices(arr, n):

  

    # Чтобы сохранить результат

    cnt = 0;

  

    # Хранить текущий максимум

    # Инициализирован на 0, так как есть только

    # положительных элементов в массиве

    max = 0;

    for i in range(n):

        # я действительный индекс

        if (max < arr[i]): 

  

            # Обновите максимум до сих пор

            max = arr[i];

  

            # Увеличить счетчик

            cnt += 1;

  

    return cnt;

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

if __name__ == '__main__':

    arr = [ 1, 2, 3, 4 ];

    n = len(arr);

  

    print(countIndices(arr, n));

  
# Этот код предоставлен 29AjayKumar

C #

// C # реализация подхода

using System;

      

class GFG 

{

  
// Функция для возврата счета
// индексов, которые удовлетворяют
// данное условие

static int countIndices(int []arr, int n)

{

  

    // Для сохранения результата

    int cnt = 0;

  

    // Сохранить текущий максимум

    // Инициализирован на 0, так как есть только

    // положительные элементы в массиве

    int max = 0;

    for (int i = 0; i < n; i++) 

    {

  

        // я действительный индекс

        if (max < arr[i]) 

        {

  

            // Обновление максимума до сих пор

            max = arr[i];

  

            // Увеличиваем счетчик

            cnt++;

        }

    }

    return cnt;

}

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

public static void Main(String[] args) 

{

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

    int n = arr.Length;

  

    Console.WriteLine(countIndices(arr, n));

}
}

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

Выход:

4

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

Количество индексов в массиве, которые удовлетворяют данному условию

0.00 (0%) 0 votes