Python | Maximize alternate element List
Last Updated :
09 Apr, 2023
The problem of getting maximum of a list is quite generic and we might some day face the issue of getting the maximum of alternate elements and get the list of 2 elements containing maximum of alternate elements. Let’s discuss certain ways in which this can be performed.
Method #1 : Using list comprehension + list slicing + max() List slicing clubbed with list comprehension can be used to perform this particular task. We can have list comprehension to get run the logic and list slicing can slice out the alternate character, maximize by the max function.
Python3
# Python3 code to demonstrate
# Maximize alternate element List
# using list comprehension + list slicing + max()
# initializing list
test_list = [2, 1, 5, 6, 8, 10]
# printing original list
print("The original list : " + str(test_list))
# using list comprehension + list slicing + max()
# Maximize alternate element List
res = [max(test_list[i : : 2]) for i in range(len(test_list) // (len(test_list)//2))]
# print result
print("The alternate elements maximum list : " + str(res))
Output : The original list : [2, 1, 5, 6, 8, 10]
The alternate elements maximum list : [8, 10]
Time Complexity: O(n), where n is the length of the input list. This is because we’re using the list comprehension + list slicing + max() which has a time complexity of O(n) in the worst case.
Auxiliary Space: O(n), as we’re using additional space res other than the input list itself with the same size of input list.
Method #2 : Using loop This is the brute method to perform this particular task in which we have the maximum of alternate elements in different element indices and then return the output list.
Python3
# Python3 code to demonstrate
# Maximize alternate element List
# using loop
# initializing list
test_list = [2, 1, 5, 6, 8, 10]
# printing original list
print("The original list : " + str(test_list))
# using loop
# Maximize alternate element List
res = [0, 0]
for i in range(0, len(test_list)):
if(i % 2):
res[1] = max(res[1], test_list[i])
else :
res[0] = max(res[0], test_list[i])
# print result
print("The alternate elements maximum list : " + str(res))
Output : The original list : [2, 1, 5, 6, 8, 10]
The alternate elements maximum list : [8, 10]
Time Complexity: O(n) where n is the number of elements in the string list. The loop is used to perform the task and it takes O(n) time.
Auxiliary Space: O(n) additional space of size n is created where n is the number of elements in the res test_list.
Similar Reads
Python - Alternate Minimum element in list Some of the list operations are quite general and having shorthands without needing to formulate a multiline code is always required. Wanting to construct the list consisting of all the alternate elements of the original list is a problem that one developer faces in day-day applications and sometime
4 min read
Python - Maximum element in Cropped List Sometimes, while working with Python, we can have a problem in which we need to get maximum of list. But sometimes, we need to get this for between custom indices. This can be need of any domain be it normal programming or web development. Let's discuss certain ways in which this task can be perform
4 min read
Python | Maximum distance between elements Sometimes, while working with lists, we can have a problem in which we need to find maximum distance between reoccurring elements. This kind of problem can have application in competitive programming and web development domain. Let's discuss certain way in which this task can be performed. Method 1:
6 min read
Python | Maximum element in tuple list Sometimes, while working with data in form of records, we can have a problem in which we need to find the maximum element of all the records received. This is a very common application that can occur in Data Science domain. Letâs discuss certain ways in which this task can be performed. Method #1: U
6 min read
Python - Elements Maximum till current index in List Given list with elements, extract element if it's the maximum element till current index. Input : test_list = [4, 6, 7, 8] Output : [4, 6, 7, 8] Explanation : All elements are maximum till their index. Input : test_list = [6, 7, 3, 6, 8, 7] Output : [7, 8] Explanation : 7 and 8 are maximum till thei
7 min read