Encuentra la pendiente del número dado

Encuentre la pendiente del número dado num . La pendiente de un número es el conteo de los dígitos mínimos y máximos en él. Un dígito se llama mínimo si el dígito es menor que el dígito anterior y posterior. De manera similar, un dígito se llama máximo si el dígito es mayor que el dígito anterior y posterior.

Ejemplos: 

Input : 1213321
Output : 2
1213321- The highlighted digit '2' is a maxima and
highlighted digit '1' is a minima.

Input : 273299302236131
Output : 6

Fuente: Experiencia de entrevista de Barclays (en el campus) .

Enfoque: recorrer los dígitos del número dado desde el segundo dígito hasta el penúltimo dígito. Para cada dígito, compruebe si el dígito es mayor o menor que los dígitos anteriores y posteriores. Obtener el recuento de dichos dígitos. 

C++

// C++ implementation to find slope of a number
#include <bits/stdc++.h>
 
using namespace std;
 
// function to find slope of a number
int slopeOfNum(string num, int n)
{
    // to store slope of the given
    // number 'num'
    int slope = 0;
 
    // loop from the 2nd digit up to the 2nd last digit
    // of the given number 'num'
    for (int i = 1; i < n - 1; i++) {
 
        // if the digit is a maxima
        if (num[i] > num[i - 1] && num[i] > num[i + 1])
            slope++;
 
        // if the digit is a minima
        else if (num[i] < num[i - 1] && num[i] < num[i + 1])
            slope++;
    }
 
    // required slope
    return slope;
}
 
// Driver program to test above
int main()
{
    string num = "1213321";
    int n = num.size();
    cout << "Slope = "
         << slopeOfNum(num, n);
    return 0;
}

Java

// Java implementation to
// find slope of a number
import java.io.*;
 
class GFG
{
     
    // function to find
    // slope of a number
    static int slopeOfNum(String num, int n)
    {
        // to store slope of the
        // given number 'num'
        int slope = 0;
     
        // loop from the 2nd digit
        // up to the 2nd last digit
        // of the given number 'num'
        for (int i = 1; i < n - 1; i++)
        {
     
            // if the digit is a maxima
            if (num.charAt(i) > num.charAt(i - 1) &&
                num.charAt(i) > num.charAt(i + 1))
                slope++;
     
            // if the digit is a minima
            else if (num.charAt(i) < num.charAt(i - 1) &&
                     num.charAt(i) < num.charAt(i + 1))
                slope++;
        }
     
        // required slope
        return slope;
    }
 
    // Driver code
    public static void main (String[] args)
    {
        String num = "1213321";
        int n = num.length();
        System.out.println("Slope = " +
                    slopeOfNum(num, n));
    }
}
 
// This code is contributed by Mahadev99

Python 3

# Python 3 implementation to find
# slope of a number
 
# function to find slope of a number
def slopeOfNum(num, n):
 
    # to store slope of the given
    # number 'num'
    slope = 0
 
    # loop from the 2nd digit up
    # to the 2nd last digit
    # of the given number 'num'
    for i in range(1, n - 1) :
 
        # if the digit is a maxima
        if (num[i] > num[i - 1] and
            num[i] > num[i + 1]):
            slope += 1
 
        # if the digit is a minima
        elif (num[i] < num[i - 1] and
              num[i] < num[i + 1]):
            slope += 1
 
    # required slope
    return slope
 
# Driver Code
if __name__ == "__main__":
     
    num = "1213321"
    n = len(num)
    print("Slope =", slopeOfNum(num, n))
 
# This code is contributed by ita_c

C#

// C# implementation to
// find slope of a number
class GFG
{
 
// function to find slope of a number
static int slopeOfNum(string num, int n)
{
    // to store slope of the
    // given number 'num'
    int slope = 0;
 
    // loop from the 2nd digit
    // up to the 2nd last digit
    // of the given number 'num'
    for (int i = 1; i < n - 1; i++)
    {
 
        // if the digit is a maxima
        if (num[i] > num[i - 1] &&
            num[i] > num[i + 1])
            slope++;
 
        // if the digit is a minima
        else if (num[i] < num[i - 1] &&
                 num[i] < num[i + 1])
            slope++;
    }
 
    // required slope
    return slope;
}
 
// Driver code
public static void Main()
{
    string num = "1213321";
    int n = num.Length;
    System.Console.WriteLine("Slope = " +
                     slopeOfNum(num, n));
}
}
 
// This code is contributed by mits

PHP

<?php
// PHP implementation to find
// slope of a number
 
// function to find slope of a number
function slopeOfNum($num, $n)
{
    // to store slope of the given
    // number 'num'
    $slope = 0;
 
    // loop from the 2nd digit up
    // to the 2nd last digit of
    // the given number 'num'
    for ($i = 1; $i < $n - 1; $i++)
    {
 
        // if the digit is a maxima
        if ($num[$i] > $num[$i - 1] &&
            $num[$i] > $num[$i + 1])
            $slope++;
 
        // if the digit is a minima
        else if ($num[$i] < $num[$i - 1] &&
                 $num[$i] < $num[$i + 1])
            $slope++;
    }
 
    // required slope
    return $slope;
}
 
// Driver Code
$num = "1213321";
$n = strlen($num);
echo "Slope = " . slopeOfNum($num, $n);
 
// This code is contributed
// by Akanksha Rai
?>

Javascript

<script>
// Javascript implementation to
// find slope of a number
     
    // function to find
    // slope of a number
    function slopeOfNum(num,n)
    {
        // to store slope of the
        // given number 'num'
        let slope = 0;
       
        // loop from the 2nd digit
        // up to the 2nd last digit
        // of the given number 'num'
        for (let i = 1; i < n - 1; i++)
        {
       
            // if the digit is a maxima
            if (num[i] > num[i-1] &&
                num[i] > num[i+1])
                slope++;
       
            // if the digit is a minima
            else if (num[i] < num[i-1] &&
                     num[i] < num[i+1])
                slope++;
        }
       
        // required slope
        return slope;
    }
     
    // Driver code
    let num = "1213321";
    let n = num.length;
    document.write("Slope = " +
                    slopeOfNum(num, n));
     
     
    // This code is contributed by avanitrachhadiya2155
</script>

Producción: 

Slope = 2

Complejidad temporal: O(n).
 

Publicación traducida automáticamente

Artículo escrito por ayushjauhari14 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *