-
Notifications
You must be signed in to change notification settings - Fork 0
/
presorting.py
38 lines (33 loc) · 1.05 KB
/
presorting.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# PresortElementUniqueness(A[0..n − 1])
# Solves the element uniqueness problem by sorting the array first
# Input: An array A[0..n − 1] of orderable elements
# Output: Returns “true” if A has no equal elements, “false” otherwise sort the array A
def PresortElementUniqueness(A, n):
for i in range(0, n - 2):
if A[i] == A[i + 1]:
return False
return True
'''PresortMode(A[0..n − 1])
//Computes the mode of an array by sorting it first
//Input: An array A[0..n − 1] of orderable elements
//Output: The array’s mode
sort the array A'''
def PresortMode(A, n):
i = 0
modefrequency = 0
while i <= n - 1:
runlength = 0
runvalue=A[i]
while i+runlength <= n -1 and A[i+runlength]==runvalue:
runlength=runlength+1
if runlength > modefrequency:
modefrequency=runlength
modevalue=runvalue
i=i+runlength
return runvalue
A=[]
n=len(A)
s=PresortMode(A,n)
b=PresortElementUniqueness(A,n)
print(s)
print(b)