Skip to content
Related Articles

Related Articles

Find the slope of the given number
  • Difficulty Level : Easy
  • Last Updated : 07 May, 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++




// 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 << "Slpoe = "
         << 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("Slpoe =", 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 "Slpoe = " . 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>

Output: 
 

Slope = 2

Time complexity: O(n).
 

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :