Skip to content

Commit e60d98a

Browse files
authored
Create Maximum and minimum of an array using minimum number of comparisons.py
1 parent e9e7c96 commit e60d98a

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
def find_min_max(arr):
2+
if len(arr) == 0:
3+
return None, None
4+
5+
if len(arr) == 1:
6+
return arr, arr
7+
8+
if arr > arr:
9+
max_val = arr
10+
min_val = arr
11+
else:
12+
max_val = arr
13+
min_val = arr
14+
15+
for i in range(2, len(arr) - 1, 2):
16+
if arr[i] > arr[i + 1]:
17+
max_val = max(max_val, arr[i])
18+
min_val = min(min_val, arr[i + 1])
19+
else:
20+
max_val = max(max_val, arr[i + 1])
21+
min_val = min(min_val, arr[i])
22+
23+
if len(arr) % 2 != 0:
24+
max_val = max(max_val, arr[-1])
25+
min_val = min(min_val, arr[-1])
26+
27+
return min_val, max_val
28+
29+
# Example usage:
30+
arr = [3, 5, 1, 2, 4, 8]
31+
min_val, max_val = find_min_max(arr)
32+
print(f"Minimum value: {min_val}, Maximum value: {max_val}")

0 commit comments

Comments
 (0)