Three way Partitioning of an Array around a Given Range in Python
Three way Partitioning of an Array around a Given Range in Python
Here, on this page, we will discuss the program for the Three way Partitioning of an Array around a Given Range in Python programming language. We are given an array and a range say [low, high], we need to partition the array in such a way,
- All the elements less than low value, should come first.
- Elements between the low and high value come in middle.
- All elements greater than high should come at the last.
Algorithm
- Initialize 3 empty arrays to store elements smaller than the given range, elements greater than the given range, elements between the given range
- Iterate through the array using the variable i
- If i is greater than l append it to lm
- else-if i is greater than h append it to hm
- Else append it to mm
- Return the combination of all three arrays ( lm + mm + hm )
Python Code
Run
def partition(arr, l, h):
lm = []
mm = []
hm = []
for i in arr:
if i < l:
lm.append(i)
elif i > h:
hm.append(i)
else:
mm.append(i)
return lm + mm + hm
array = [1, 17, 22, 16, 13, 5, 43, 18, 3, 10]
lowVal = 14
highVal = 20
print("After Partitioning :", partition(array, lowVal, highVal))
Output
After Partitioning : [1, 13, 5, 3, 10, 17, 16, 18, 22, 43]
Prime Course Trailer
Related Banners
Get PrepInsta Prime & get Access to all 200+ courses offered by PrepInsta in One Subscription
For similar Questions click on the given button.

Login/Signup to comment