• 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

Check if an array has duplicate numbers in O(n) time and O(1) space

Python Dictionaries

simple sql injection

Practo Hiring Experience

Inorder and Preorder traversals of a Binary Tree given. Output the Postorder traversal of it.

Max Sum in circularly situated Values

Convert number to words java

Find the element that appears once others appears thrice

C Program for TAIL command of UNIX

Sort Stack in place

Doubly linked list

Diagonal Traversal of Binary Tree

Trie Dictionary

Coin Collection Dynamic Programming

Given a sorted array and a number x, find the pair in array whose sum is closest to x

Reliance Jio Software Developer Interview Experience

Facebook Interview Question : Interleave List

Hackerearth : Counting Subarrays

Level order traversal in Spiral form

Print Power Set of a Set

Handle duplicates in Binary Search Tree

Connect n ropes with minimum cost

N teams are participating. each team plays twice with all other teams. Some of them will go to the semi final. Find Minimum and Maximum number of matches that a team has to win to qualify for finals ?

Python String and numbers

The greedy coins game Dynamic Programming

Given a float number convert it into the string WITHOUT using any inbuilt Function

The Magic HackerEarth Nirvana solutions Hiring Challenge

Flipkart SDET Interview Experience

Test Cases for Round Function

Sequence Finder Dynamic Programming

Copyright © 2026 · Genesis Framework · WordPress · Log in