Skip to content

Commit

Permalink
Added a new Binary Search Problem
Browse files Browse the repository at this point in the history
  • Loading branch information
yashsarda committed Jan 18, 2020
1 parent cabe7da commit 519f21e
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions Searching/Maximum_Median.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
class Solution:
# @param A : list of integers
# @param B : string
# @return a strings
def solve(self, A, B):
n = len(A)
B = int(B)
new_A = []
for i in range(n // 2, n):
new_A.append(A[i])

lb = new_A[0]
ub = new_A[-1] + B

final_answer = 0
while lb <= ub:
mid = lb + (ub - lb) // 2
answer = 0
for element in new_A:
if element >= mid:
break
answer += mid - element

if answer <= B:
final_answer = mid
lb = mid + 1
else:
ub = mid - 1

return str(final_answer)

0 comments on commit 519f21e

Please sign in to comment.