Hello **Programmers/Coders,** Today we are going to share ** solutions of Programming problems of HackerRank, Algorithm Solutions of Problem Solving Section in Java**. At Each Problem with Successful submission with

**all Test Cases Passed,**you will get an score or marks. And after solving maximum problems, you will be getting stars. This will highlight your profile to the recruiters.

In this post, you will find the solution for **Fraudulent Activity Notifications** **in Java-HackerRank Problem**. We are providing the **correct and tested solutions** of coding problems present on **HackerRank**. If you are not able to solve any problem, then you can take help from our Blog/website.

Use “Ctrl+F” To Find Any Questions Answer. & For Mobile User, You Just Need To Click On Three dots In Your Browser & You Will Get A “Find” Option There. Use These Option to Get Any Random Questions Answer.

**Introduction To Algorithm**

The word **Algorithm** means “a process or set of rules to be followed in calculations or other problem-solving operations”. Therefore Algorithm refers to a set of rules/instructions that step-by-step define how a work is to be executed upon in order to get the expected results.

**Advantages of Algorithms:**

- It is easy to understand.
- Algorithm is a step-wise representation of a solution to a given problem.
- In Algorithm the problem is broken down into smaller pieces or steps hence, it is easier for the programmer to convert it into an actual program.

** Link for the Problem** – Fraudulent Activity Notifications – Hacker Rank Solution

Fraudulent Activity Notifications – Hacker Rank Solution

**Problem:**

HackerLand National Bank has a simple policy for warning clients about possible fraudulent account activity. If the amount spent by a client on a particular day is *greater than or equal to* the client’s median spending for a trailing number of days, they send the client a notification about potential fraud. The bank doesn’t send the client any notifications until they have at least that trailing number of prior days’ transaction data.

Given the number of trailing days and a client’s total daily expenditures for a period of days, determine the number of times the client will receive a notification over all days.

**Example**

On the first three days, they just collect spending data. At day , trailing expenditures are . The median is and the day’s expenditure is . Because , there will be a notice. The next day, trailing expenditures are and the expenditures are . This is less than so no notice will be sent. Over the period, there was one notice sent.

**Note**: The median of a list of numbers can be found by first sorting the numbers ascending. If there is an odd number of values, the middle one is picked. If there is an even number of values, the median is then defined to be the average of the two middle values. (Wikipedia)

**Function Description**

Complete the function *activityNotifications* in the editor below.

activityNotifications has the following parameter(s):

*int expenditure[n]:*daily expenditures*int d*: the lookback days for median spending

**Returns**

*int:*the number of notices sent

**Input Format**

The first line contains two space-separated integers and , the number of days of transaction data, and the number of trailing days’ data used to calculate median spending respectively.

The second line contains space-separated non-negative integers where each integer denotes .

**Constraints**

**Output Format**

**Sample Input 0**

STDIN Function ----- -------- 9 5 expenditure[] size n =9, d = 5 2 3 4 2 3 6 8 4 5 expenditure = [2, 3, 4, 2, 3, 6, 8, 4, 5]

**Sample Output 0**

2

**Explanation 0**

Determine the total number of the client receives over a period of days. For the first five days, the customer receives no notifications because the bank has insufficient transaction data: .

On the sixth day, the bank has days of prior transaction data, , and dollars. The client spends dollars, which triggers a notification because : .

On the seventh day, the bank has days of prior transaction data, , and dollars. The client spends dollars, which triggers a notification because : .

On the eighth day, the bank has days of prior transaction data, , and dollars. The client spends dollars, which does not trigger a notification because : .

On the ninth day, the bank has days of prior transaction data, , and a transaction median of dollars. The client spends dollars, which does not trigger a notification because : .

**Sample Input 1**

5 4 1 2 3 4 4

**Sample Output 1**

0

There are days of data required so the first day a notice might go out is day . Our trailing expenditures are with a median of The client spends which is less than so no notification is sent.

Fraudulent Activity Notifications – Hacker Rank Solution

import java.io.*; import java.lang.reflect.Array; import java.util.*; public class Main implements Runnable { int[] cnt; int med(int d) { int[] a = Arrays.copyOf(cnt, cnt.length); int r = d / 2; if (d % 2 == 1) { r++; } int res = 0; boolean odd = d % 2 == 1; for (int k = 0; k <= 200; k++) { while (r > 0 && a[k] > 0) { a[k]--; r--; } if (r == 0) { res += k; if (d % 2 == 0) { d--; r++; if (a[k] > 0) { return 2 * k; } } else { break; } } } return res * (odd ? 2 : 1); } void solve() throws IOException { int n = nextInt(); int d = nextInt(); cnt = new int[201]; int[] a = new int[n]; for (int i = 0; i < n; i++) { a[i] = nextInt(); } for (int i = 0; i < d; i++) { cnt[a[i]]++; } int res = 0; for (int i = d; i < n; i++) { int m = med(d); //out.println(m); if (a[i] >= m) { res++; } cnt[a[i - d]]--; cnt[a[i]]++; } out.print(res); } BufferedReader br; StringTokenizer st; PrintWriter out; public void run() { try { br = new BufferedReader(new InputStreamReader(System.in)); out = new PrintWriter(System.out); solve(); br.close(); out.flush(); out.close(); } catch (Exception e) { e.printStackTrace(); System.exit(123); } } String next() throws IOException { while (st == null || !st.hasMoreTokens()) { String s = br.readLine(); if (s == null) return null; st = new StringTokenizer(s); } return st.nextToken(); } double nextDouble() throws IOException { return Double.parseDouble(next()); } int nextInt() throws IOException { return Integer.parseInt(next()); } long nextLong() throws IOException { return Long.parseLong(next()); } public static void main(String[] args) { new Thread(new Main()).start(); } }

If you want to obtain a good deal from this article then you have to apply these methods to your won blog.

buy tadalafil 40mg sale cialis 40mg canada online ed pills

buy duricef pills for sale buy epivir for sale buy finasteride generic

buy generic estrace estrace ca buy prazosin 2mg pill

diflucan 100mg oral fluconazole 200mg usa generic cipro

purchase mebendazole pills retin price tadalis for sale online

flagyl 400mg cheap bactrim 960mg oral cephalexin 125mg cost

cleocin without prescription order generic sildenafil best ed pill

order indocin generic buy terbinafine medication buy generic cefixime 100mg

nolvadex over the counter ceftin 500mg sale buy cefuroxime without prescription

buy amoxicillin generic arimidex online buy brand biaxin 250mg

order careprost sale oral careprost purchase desyrel generic

buy clonidine medication buy tiotropium medication spiriva 9mcg cheap

order sildenafil 50mg buy aurogra 100mg sildenafil overnight shipping

purchase minomycin online pioglitazone usa pioglitazone usa

leflunomide 10mg tablet order arava 20mg sale cost azulfidine 500 mg

isotretinoin 10mg over the counter buy cheap generic zithromax buy azithromycin 500mg generic

buy azithromycin no prescription azithromycin price gabapentin oral

ivermectin usa price buy ed pills cheap deltasone online buy

buy furosemide generic purchase ventolin pills ventolin 4mg pills

buy vardenafil 20mg online cheap vardenafil 10mg ca hydroxychloroquine 200mg cost

buy cheap generic altace purchase glimepiride sale etoricoxib for sale

vardenafil 20mg us order vardenafil 10mg generic buy plaquenil 200mg sale

brand mesalamine avapro 300mg cheap brand avapro

buy benicar 20mg pills buy cheap generic divalproex buy divalproex 250mg online cheap

clobetasol for sale clobetasol tablet buy amiodarone 200mg generic

olumiant 4mg without prescription buy atorvastatin 40mg online cheap purchase lipitor generic