diff options
author | Santo Cariotti <santo@dcariotti.me> | 2024-05-28 10:29:13 +0200 |
---|---|---|
committer | Santo Cariotti <santo@dcariotti.me> | 2024-05-28 10:29:13 +0200 |
commit | f05d888a0b621ca4e99e2b0fb6e23c097006fe41 (patch) | |
tree | eebbb2489144112d3288393e354d19375a0aa088 /progs/a586.py |
Init
Diffstat (limited to 'progs/a586.py')
-rw-r--r-- | progs/a586.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/progs/a586.py b/progs/a586.py new file mode 100644 index 0000000..d22252b --- /dev/null +++ b/progs/a586.py @@ -0,0 +1,18 @@ +def is_majority(arr, n, x):
+ i = binary_search(arr, 0, n-1, x)
+ if i == -1:
+ return False
+ if ((i + n//2) <= (n -1)) and arr[i + n//2] == x:
+ return True
+ else:
+ return False
+def binary_search(arr, low, high, x):
+ if high >= low:
+ mid = (low + high)//2
+ if (mid == 0 or x > arr[mid-1]) and (arr[mid] == x):
+ return mid
+ elif x > arr[mid]:
+ return binary_search(arr, (mid + 1), high, x)
+ else:
+ return binary_search(arr, low, (mid -1), x)
+ return -1
\ No newline at end of file |