Find the slope of the given number

06 Sep, 2021
Find the slope of the given number num. Slope of a number is the count of the minima and maxima digits in it. A digit is called a minima if the digit is lesser than the digit before and after it. Similarly a digit is called a maxima if the digit is greater than the digit before and after it.
Examples: 
Input : 1213321
Output : 2
1213321- The highlighted digit '2' is a maxima and
highlighted digit '1' is a minima.

Input : 273299302236131
Output : 6
Source: Barclays Interview Experience (On Campus).
Approach: Traverse the digits of the given number from the 2nd digit up to the 2nd last digit. For each digit check whether the digit is greater or smaller than digits before and after it. Get the count of such digits. 
C++
Java
Python 3
C#
PHP
Javascript
// C++ implementation to find slope of a number#include <bits/stdc++.h> using namespace std; // function to find slope of a numberint 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 aboveint main(){    string num = "1213321";    int n = num.size();    cout << "Slope = "         << slopeOfNum(num, n);    return 0;}
// Java implementation to// find slope of a numberimport 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 implementation to find# slope of a number # function to find slope of a numberdef 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 Codeif __name__ == "__main__":         num = "1213321"    n = len(num)    print("Slope =", slopeOfNum(num, n)) # This code is contributed by ita_c
// C# implementation to// find slope of a numberclass GFG{ // function to find slope of a numberstatic 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 codepublic 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 implementation to find// slope of a number // function to find slope of a numberfunction 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?>
<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>
Output: 
Slope = 2
Time complexity: O(n). 
Mahadev99
Mithun Kumar
Akanksha_Rai
ukasp
avanitrachhadiya2155
varshagumber28
Barclays
number-digits
Mathematical
Searching
Searching
Mathematical
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.