• Skip to primary navigation
  • Skip to content
  • Skip to primary sidebar
  • Skip to secondary sidebar

GoHired

Interview Questions asked in Google, Microsoft, Amazon

Join WeekEnd Online Batch from 4-April-2020 on How to Crack Coding Interview in Just 10 Weeks : Fees just 20,000 INR

  • Home
  • Best Java Books
  • Algorithm
  • Internship
  • Certificates
  • About Us
  • Contact Us
  • Privacy Policy
  • Array
  • Stack
  • Queue
  • LinkedList
  • DP
  • Strings
  • Tree
  • Mathametical
  • Puzzles
  • Graph

Calculate price of parking from parking start end time prices

January 5, 2016 by Dhaval Dave

Given a price rules of parking and start time and end time of parking. Calculate the price

(Below is the table of price rule) Come up with data structure you can store these price rules PriceRule

Price Rules:
On Weekday      On Weekend
Hours   Price       Hours       Price
0 – 2      $5           0 – 2          $8
2 – 6      $10         2 – 6          $13
6 – 12    $15         6 – 12        $18
12 – 24  $20        12 – 24       $25
2 The interviewer asked  to come up with an architecture for a system which shows the parking spaces available near customers’ location in a mobile app.
Lets start with 1). What is correct way to store Prices.

In order to think the solution we need to find the way input will be given, Input will be number of hrs like 3 hrs of parking or 6 hrs of parking. So we can find the charges for such parking directly.
Solution 1 : we can store this input in 2 hashmaps one for weekday and one for weekend.
Hashmap will be <int, int> we can store {{2,5},{6,10},{12,15},{24,20}}.
Once we get input 3 hrs.
Search for first key greater than input(3) which is 6, so it will be in range of 2-6 and charge accordingly.

#include <iostream>
#include <map>
using namespace std;

int main() {
	map<int, int> charges;
	int hrs;
	int sumCharge=0;
	charges[2]=5;
	charges[6]=10;
	charges[12]=15;
	charges[24]=20;
	cout << "Enter Hrs";
	cin >> hrs;
	cout << "Enter Day";
        cin >> day;
        //Decide its week day or weekend
	if (hrs < 2) sumCharge = charges[2];
	else if(hrs < 6) sumCharge = charges[6];
	else if(hrs < 12) sumCharge = charges[12];
	else if(hrs < 24) sumCharge = charges[24];
	// your code goes here
        if(weekend){
           sumCharge + = 3;
        }
        cout << "Charges" <<sumCharge;
	return 0;
}
( Obviously as per day, search for which Hashmap to take, week or weekend)
Space Complexity :  O(n)
Time Complexity : O(n) -> as searching key in sequence.

Check out Best Java Book

Solution 2 : Can we think for similar solution so that search complexity we can improve, as in solution 1 we are not utilizing Hashmap’s search complexity which is O(1).
Then there are two solution : Use Interval Tree or BST.
Interval Tree : In node keep 5 parameters
                       Least Value, Most Value, Price, LPtr, RPtr
Interval tree will be balanced same as BST.
We can use BST as ranges are not overlapping.
BST : Store 4 parameters : Most Value, Price, LPtr, RPtr.
We can search for parking hrs will fall in which range with same way we used in Hashmap.
But here in Interval Tree or BST
Space Complexity : O(n)
Time Complexity : O(log n)
Cheers :)

 

Write to admin@gohired if you have found another solution or similar good question.

 

Now lets think for question 2nd and Post your comments below.

Similar Articles

Filed Under: Amazon Interview Question, Interview Questions, problem Tagged With: Array

Reader Interactions

Primary Sidebar

Join WeekEnd Online/Offline Batch from 4-April-2020 on How to Crack Coding Interview in Just 10 Weeks : Fees just 20,000 INR

Join WeekEnd Online/Offline Batch from 4-April-2020

WhatsApp us

Secondary Sidebar

Custom Search

  • How I cracked AMAZON
  • LeetCode
  • Adobe
  • Amazon
  • Facebook
  • Microsoft
  • Hacker Earth
  • CSE Interview

Top Rated Questions

Find Pythagorean Triplets in an array in O(N)

Print vertical sum of all the axis in the given binary tree

Daughter’s Age VeryGood Puzzle

LeetCode: Container With Most Water

Handle duplicates in Binary Search Tree

Find and print longest consecutive number sequence in a given sequence in O(n)

Find the smallest window in a string containing all characters of another string

TicTacToe Game As Asked in Flipkart

Convert number to words java

SAP Off Campus Hiring_ March 2015 Computer Skills

Practo Hiring Experience

Given array of 0’s and 1’s. All 0’s are coming first followed by 1’s. find the position of first 1

Linked List V/S Binary Search Tree

VMWare SDEII Interview

System Design: Designing a LLD for Hotel Booking

VMWare Openings

Rectangular chocolate bar Create at least one piece which consists of exactly nTiles tiles

Binary Tree in Java

Interfaces in C++ (Abstract Classes in C++)

strtok()

Maximum of all subarrays of size k

write a c program that given a set a of n numbers and another number x determines whether or not there exist two elements in s whose sum is exactly x

Reliance Jio Software Developer Interview Experience

Facebook Interview Question : Interleave List

Sequence Finder Dynamic Programming

Check a String is SUBSEQUENCE of another String Find Minimum length for that ( DNA Matching )

Cisco Hiring Event 21st – 22nd Feb 2015

Word Break Problem

Edit Distance ( Dynamic Programming )

Count Possible Decodings of a given Digit Sequence

Copyright © 2026 · Genesis Framework · WordPress · Log in