Dangling exercises for midterm
This commit is contained in:
parent
0151274467
commit
d724db3cca
3 changed files with 102 additions and 0 deletions
30
midterm_prep/183-2.py
Normal file
30
midterm_prep/183-2.py
Normal file
|
@ -0,0 +1,30 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import sys
|
||||
import math
|
||||
|
||||
def better_algo_X(A, k):
|
||||
l = -1 * math.inf
|
||||
r = math.inf
|
||||
for i in range(0, len(A)):
|
||||
c = 0
|
||||
for j in range(i, len(A)):
|
||||
print("i =", i, "j =", j, "c =", c)
|
||||
if A[i] == A[j]:
|
||||
c = c + 1
|
||||
if c >= k:
|
||||
if r - l > j - i:
|
||||
l = i
|
||||
r = j
|
||||
print("l =", l, "r = ", r)
|
||||
break
|
||||
return [l, r]
|
||||
|
||||
A = []
|
||||
for line in sys.stdin:
|
||||
line = line.strip()
|
||||
if line == '' or line == '\n':
|
||||
break
|
||||
A.append(int(line))
|
||||
|
||||
print(better_algo_X(A[1:], A[0]))
|
47
midterm_prep/184-1.py
Executable file
47
midterm_prep/184-1.py
Executable file
|
@ -0,0 +1,47 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import sys
|
||||
import math
|
||||
|
||||
def three_way_partition(A, begin, end):
|
||||
i = 0
|
||||
j = end - 2
|
||||
p = end - 1
|
||||
while i < j:
|
||||
print(A[begin:i], A[i:j+1], A[j+1:p], A[p:end])
|
||||
if A[i] == A[p]:
|
||||
p = p - 1
|
||||
A[i], A[p] = A[p], A[i]
|
||||
if j == p:
|
||||
j = j - 1
|
||||
elif A[j] == A[p]:
|
||||
p = p - 1
|
||||
A[j], A[p] = A[p], A[j]
|
||||
if j == p:
|
||||
j = j - 1
|
||||
elif A[i] < A[p]:
|
||||
i = i + 1
|
||||
elif A[j] > A[p]:
|
||||
j = j - 1
|
||||
else:
|
||||
A[i], A[j] = A[j], A[i]
|
||||
|
||||
m = end - 1
|
||||
while i < p:
|
||||
print(A)
|
||||
A[i], A[m] = A[m], A[i]
|
||||
m = m - 1
|
||||
i = i + 1
|
||||
|
||||
return [j, m + 1]
|
||||
|
||||
if __name__ == "__main__":
|
||||
A = []
|
||||
for line in sys.stdin:
|
||||
line = line.strip()
|
||||
if line == '' or line == '\n':
|
||||
break
|
||||
A.append(int(line))
|
||||
|
||||
print(three_way_partition(A, 0, len(A)))
|
||||
print(A)
|
25
midterm_prep/184-1.txt
Normal file
25
midterm_prep/184-1.txt
Normal file
|
@ -0,0 +1,25 @@
|
|||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
5
|
||||
5
|
||||
4
|
||||
32
|
||||
21
|
||||
6
|
||||
8
|
||||
34
|
||||
98
|
||||
3426
|
||||
56
|
||||
3
|
||||
67
|
||||
2
|
||||
6
|
||||
2
|
||||
6
|
||||
23
|
||||
65
|
||||
|
Reference in a new issue