Skip to content

Commit e60b5e9

Browse files
authored
Update Minimum Distance
O(n)
1 parent 5f50f12 commit e60b5e9

1 file changed

Lines changed: 17 additions & 6 deletions

File tree

Minimum Distance

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,25 @@
1-
def mindist(x,m,p):
2-
n=len(x)
3-
min_dis=-9999
1+
def mindist(x,m,p): #Time Complexity - O(n2)
2+
n=len(x)
3+
min_dis=9999
44
for i in range(n):
55
for j in range(i+1,n):
66
if m==x[i] and p==x[j] or \
77
m==x[j] and p==x[i] and abs(j - i) > min_dis:
88
min_dis = abs(j - i)
99
return min_dis
10+
11+
12+
def min_distance(x,a,b): #Time Complexity - O(n)
13+
n=len(x)
14+
last = -1
15+
min_dis = 999
16+
for i in range(n):
17+
if x[i] == a or x[i] == b:
18+
if last != -1:
19+
min_dis=min(min_dis,i-last)
20+
last=i #for updating 1st number's index
21+
return min_dis
1022

1123
x=[1,3,5,7,9,2,4,6,8]
12-
m=1
13-
p=4
14-
print(mindist(x,1,4))
24+
print(min_distance(x,5,8))
25+

0 commit comments

Comments
 (0)