Skip to main content

Find index of maximum number in array using recursion in python

Find index of maximum number in array using recursion in python

To find the index of the maximum number in an array using recursion in Python, you can use the following implementation:

def find_max_index(arr):
    if len(arr) == 1:
        return 0
    else:
        max_index = find_max_index(arr[1:])
        return (max_index + 1) if arr[0] < arr[max_index + 1] else 0

arr = [4, 6, 2, 8, 5]
max_index = find_max_index(arr)
print(max_index) # Output: 3

This function takes an array arr as an argument and returns the index of the maximum element in the array. It first checks if the length of the array is 1, in which case it returns 0 as the index of the only element in the array.

Otherwise, it makes a recursive call to find_max_index with the array slice arr[1:] as the argument. This recursively finds the index of the maximum element in the rest of the array.

Finally, it compares the first element of the original array arr[0] with the element at the index max_index + 1 (which is the index of the maximum element in the rest of the array), and returns either the index 0 or (max_index + 1) based on which element is larger.

Comments

Popular posts from this blog

Find mean, mode and median of a vector in python

Find mean, mode and median of a vector in python To find the mean, mode, and median of a vector in Python, you can use the following implementation: def find_max_index (arr): if len(arr) == 1 : return 0 else : max_index = find_max_index(arr[ 1 :]) return (max_indexdef factorial(n): if n == 0 : return 1 else : return n * factorial(n - 1 ) n = int(input( "Enter a Number : " )) fact = factorial(n) print (fact) + 1 ) if arr[ 0 ] < arr[max_index + 1 ] else 0 arr = [ 4 , 6 , 2 , 8 , 5 ] max_index = find_max_index(arr) print (max_index) # Output: 3 This code first imports the statistics module, which provides functions for calculating statistical properties of a dataset. It then defines a vector with some sample data. You can replace this with your own vector. To calculate the mean of the vector, it first calculates the sum of all the elements in the vector using...

Find greatest common divisor using tail recursion in python

Find  greatest common divisor using tail recursion in python To find the greatest common divisor (GCD) of two numbers using tail recursion in Python, you can use the Euclidean algorithm. Here's an example implementation: def gcd (a, b): if b == 0 : return a else : return gcd(b, a % b) a = int(input( "Enter a First Number : " )) b = int(input( "Enter a Second Number : " )) print (gcd(a, b)) This function takes two arguments, a and b, and returns their GCD. It checks if b is zero; if it is, it returns a as the GCD. Otherwise, it makes a recursive call to gcd with b and a % b as the arguments. The recursive call is a tail call, which means that it's the last operation performed in the function. This allows the Python interpreter to optimize the function's execution by reusing the same stack frame for the recursive call, instead of creating a new one.

Write a program that demonstrate string operations using StringBuffer class.

This program demonstrates several operations that can be performed using the StringBuffer class. It creates a new StringBuffer object with the initial value "Hello, ", and then appends "world!" to the end of the string using the append() method. It then inserts "Java " into the middle of the string using the insert() method, replaces "Hello" with "Hi" using the replace() method, deletes the first three characters of the string using the delete() method, and reverses the order of the characters in the string using the reverse() method. public class StringBufferDemo { public static void main ( String [] args ) { // Create a new StringBuffer object StringBuffer sb = new StringBuffer ( "Hello, " ); // Append a string to the StringBuffer sb . append ( "world!" ); System . out . println ( sb ); // Insert a string into the middle of the StringBuffer ...