
Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN: 9780133594140
Author: James Kurose, Keith Ross
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Question
CSC 385 –Assignment 4 –Faster SortingAlgorithms .This problem is taken from a hackerrank programming challenge. The problem is tagged as having medium difficulty in hacker rank:(https://www.hackerrank.com/challenges/fraudulent-activity-notifications) Problem Description—Fraud DetectionHackerLand National Bank has a simple policy for warning clients about possiblefraudulent account activity. If the amount spent by a client on a particular day is greaterthan or equal to 2 ×the client's medianspending for the last d days, they send the client a notification about potential fraud. The bank doesn't send the client any notificationsuntil they have at least d prior days of transaction data.Given the value of d and a client's total daily expenditures for a period of n days (where n>d) write amethod which returns the number of times the client will receive a notification over all days.Note: Your algorithm time efficiency should not exceed O(nd) where n is the total number of daily expenditures and d is the number of prior day expenditures used for frauddetection.Your algorithm space complexity should not exceed O(n+d).where n is the total number of daily expenditures and d is the number of prior day expenditures used for frauddetection.Space complexity is defined as the input size + any auxiliary space that is used by the algorithm. The space complexity of a variable that holds a single item is of O(1) but the space complexity of a variable that holds a collection of n items is O(n). Often times we ignore the input size and only compare space complexity of algorithms based on the auxiliary space they use. For example, merge sort space complexity is O(n) because it uses an auxiliary array of size O(n) to store merged subarrays. The textbook does not talk much about space complexity. To learn more about space complexity please read this brief lecture from North Western University and watch this short Youtube video. What you need to do: To receive full credit, your method must have the following signature:public int getNumberOfFrauds(int[] dailyExpeditures, int d) For example:
getNumberOfFrauds({4,3,2,2,3,6,8,9,10}, 5)must return 3 Explanation: We must determine the total number of notifications the client receivesover a period of days. For the first five days, the customer receives no notificationsbecause the bank has insufficient transaction data and the number of notifications arezero.On the sixth day, the bank has 5 days of prior transaction data {4,3,2,2,3} and the medianis 3 dollars, the client spent 6 dollars on the sixth day which triggers a notificationbecause 6 >=2* median, so the number of notifications after sixth day is 1. On the seventh day, the bank has 5 days of prior transaction data {3,2,2,3,6} and themedian is 3 dollars, the client spent 8 dollars on the seventh day which triggers a notification because 8 >=2* median, so the number of notifications after seventh day is 2. On the eights day, the bank has 5 days of prior transaction data {2,2,3,6,8} and themedian is 3 dollars, the client spent 9 dollars on the eighth day which triggers a notification because 9>=2* median, so the number of notifications after eighth day is 3. On the ninth day, the bank has 5 days of prior transaction data {2,3,6,8,9} and themedian is 6 dollars, the client spent 10 dollars on the ninth day which does not triggersa notification because 10<2* median, so the number of notifications after ninth daystays at 3. We then return the final value of notifications which is 3. Hints: You can store the first d day spending in another array and sort this array using a fast sorting algorithm such as quick sort. For instance, for the above example, the sortedarray would be {2,2,3,3,4}. Compare the next day spending ( 6 dollars) with the medianand update the number of frauds. Then replace the first day spending (4 dollars) withd+1 day spending (6 dollars) in the sorted array, that is: {2,2,3,3,6}. If the resulting arrayis not sorted, shift array elements until it is sorted again. Find the median and compareit with d+2 day spending and update the number of frauds. Next, replace the second day spending ( 3 dollars) with d+2 day spending (8 dollars) in the sorted array, that is:{2,2,8,3,6}. If the resulting array is not sorted, shift the array elements until it is sorted again {2,2,3,6,8}. Find the median and compare it with d+3 day spending and updatethe number of frauds. Continue this process until you get to the last day spending and return the number of frauds.
Expert Solution

This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution
Trending nowThis is a popular solution!
Step by stepSolved in 2 steps

Knowledge Booster
Similar questions
- Help with c++. Paste indented code plzz Select two classes below to implement as an Aggregation relationship. ActorArtistBookCameraDirectorEmployeeInstrumentManagerMovieMusicianPaintingProducerWriter 1. Explain why these two classes can be logically represented as an Aggregation2. Implement both classes including the following a. one data member for each class b. all necessary constructors for each class c. all necessary accessor and mutator functions for each classarrow_forwardCs10 Quiz 1 6 / 7 100% + 26. Given the definition of the classes Node and List above but with this new List public member function named mystery added, draw the memory diagram after all of the shown code in the main function executes (but before the main function ends). Be careful, there may be dangling pointers and/or memory leaks after calling the mystery function. Be sure to show these in your diagram. Circle ALL memory leaks. You may put ?? in a dangling pointer variable or just leave the arrow dangling in your drawing. Be sure to draw pointers in the same manner as I showed in lecture (arrow starts inside variable and ends at memory location it points to). void List::mystery (int val) { if (head == nullptr) { head = new Node (val); tail = head; } else if (head->next == nullptr) { head->next = new Node (val); } else ( Node *nl = new Node (val); int main () { List list; list.mystery (2); list.mystery (3) ; list.mystery (5); // Draw what memory // looks like now // (Note: the main…arrow_forwardPlease provide three advantages of employing accessors rather than making secret types public.arrow_forward
- What is a singleton class? Give a practical example of its usage.arrow_forwardChallenge: Improve Your Spam Classifier [Ungraded] You can improve your classifier in two ways: Feature Extraction: Modify the function extract_features_challenge(). This function takes in a email (list of lines in an email) and a feature dimension B, and should output a feature vector of dimension B. The autograder will pass in both arguments. We provide naive feature extraction from above as an example. Model Training: Modify the function train_spam_filter_challenge(). This function takes in training data xTr, yTr and should output a weight vector w and bias term b for classification. The predictions will be calculated exactly the same way as we have demonstrated in the previous cell. We provide an initial implementation using gradient descent and logistic regression. Your model will be trained on the same training set above (loaded by load_spam_data()), but we will test its accuracy on a testing dataset of emails (hidden from you) feature_dimension = 512def…arrow_forwardFor this system: Airline Reservation System For Customers - Book Flights - Buy Tickets Make Payment Print Boarding card Cancel booking For management staff Create new Flights Modify Flights Details Flights cancel Design the Class Diagram (that contains at least 10 classes, show appropriate relationships, multiplicities, attributes, and methods) Name of classes: - Customer/Passenger - Booking flight - Flight - Buy ticket - Payment - Cancel booking - Luggage - Airport - Management staff - Accountarrow_forward
- VariableReferenceNode.java, OperationNode.java, ConstantNode.java, and PatternNode.java must have their own java classes with the correct methods implemented: OperationNode: Has enum, left and Optional right members, good constructors and ToString is good VariableReferenceNode: Has name and Optional index, good constructors and ToString is good Constant & Node Pattern: Have name, good constructor and ToString is good Make sure to include the screenshot of the output of Parser.java as well.arrow_forwardcan you make ER Diagram with Crow`s foot method about library system. The rule: 1. A member can borrow more than one book at a time 2. A member can have more than one phone number 3. A book can have more than one author 4. All book registration, member and borrowing processes can only be done/served by officers 5. Data for books, members and officers are stored with a unique id, so no id is the same.arrow_forwardCurrent file: Team.java Load default template... 1 public class Team { // TODO: Declare private fields - name, wins, losses 2 3 4 5 // TODO: Define mutator methods // setName(), setWins(), setLosses() 7 8 // TODO: Define accessor methods // 9. 10 getName(), getWins(), getLosses() 11 12 13 // TODO: Define getWinPercentage() 14 15 16 // TODO: Define printStanding()arrow_forward
arrow_back_ios
arrow_forward_ios
Recommended textbooks for you
- Computer Networking: A Top-Down Approach (7th Edi...Computer EngineeringISBN:9780133594140Author:James Kurose, Keith RossPublisher:PEARSONComputer Organization and Design MIPS Edition, Fi...Computer EngineeringISBN:9780124077263Author:David A. Patterson, John L. HennessyPublisher:Elsevier ScienceNetwork+ Guide to Networks (MindTap Course List)Computer EngineeringISBN:9781337569330Author:Jill West, Tamara Dean, Jean AndrewsPublisher:Cengage Learning
- Concepts of Database ManagementComputer EngineeringISBN:9781337093422Author:Joy L. Starks, Philip J. Pratt, Mary Z. LastPublisher:Cengage LearningPrelude to ProgrammingComputer EngineeringISBN:9780133750423Author:VENIT, StewartPublisher:Pearson EducationSc Business Data Communications and Networking, T...Computer EngineeringISBN:9781119368830Author:FITZGERALDPublisher:WILEY

Computer Networking: A Top-Down Approach (7th Edi...
Computer Engineering
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:PEARSON

Computer Organization and Design MIPS Edition, Fi...
Computer Engineering
ISBN:9780124077263
Author:David A. Patterson, John L. Hennessy
Publisher:Elsevier Science

Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:9781337569330
Author:Jill West, Tamara Dean, Jean Andrews
Publisher:Cengage Learning

Concepts of Database Management
Computer Engineering
ISBN:9781337093422
Author:Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:Cengage Learning

Prelude to Programming
Computer Engineering
ISBN:9780133750423
Author:VENIT, Stewart
Publisher:Pearson Education

Sc Business Data Communications and Networking, T...
Computer Engineering
ISBN:9781119368830
Author:FITZGERALD
Publisher:WILEY