We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
cumulative_count = 0
for number in sorted_numbers:
cumulative_count += frequency_dict[number]
if cumulative_count > total_count // 2:
if total_count % 2 == 1:
return number
if cumulative_count >= total_count // 2:
if total_count % 2 == 0:
# If total count is even, find the next number to get the average
next_number_index = sorted_numbers.index(next(num for num in sorted_numbers if num > number and frequency_dict[num] > 0))
next_number = sorted_numbers[next_number_index]
return (number + next_number) / 2
def activityNotifications(expenditure, d):
freq_dict = {}
for i in range(201):
freq_dict[i] = 0
for i in range(d):
freq_dict[expenditure[i]] +=1
# print(freq_dict)
count = 0
print(constant_time_median(freq_dict), count)
if expenditure[d] >= 2*constant_time_median(freq_dict):
count+=1
for i in range(1+d,len(expenditure)):
freq_dict[expenditure[i-d-1]] -=1
freq_dict[expenditure[i-1]] +=1
print(constant_time_median(freq_dict), count)
if 2*constant_time_median(freq_dict) <= expenditure[i]:
count+=1
return count
if name == 'main':
fptr = open(os.environ['OUTPUT_PATH'], 'w')
first_multiple_input = input().rstrip().split()
n = int(first_multiple_input[0])
d = int(first_multiple_input[1])
expenditure = list(map(int, input().rstrip().split()))
result = activityNotifications(expenditure, d)
fptr.write(str(result) + '\n')
fptr.close()
Cookie support is required to access HackerRank
Seems like cookies are disabled on this browser, please enable them to open this website
Fraudulent Activity Notifications
You are viewing a single comment's thread. Return to all comments →
This code is failing at two test cases, can anyone please help me find my mistake...
import math import os import random import re import sys
#
Complete the 'activityNotifications' function below.
#
The function is expected to return an INTEGER.
The function accepts following parameters:
1. INTEGER_ARRAY expenditure
2. INTEGER d
# def constant_time_median(frequency_dict): total_count = sum(frequency_dict.values()) sorted_numbers = sorted(frequency_dict.keys())
def activityNotifications(expenditure, d):
if name == 'main': fptr = open(os.environ['OUTPUT_PATH'], 'w')