• 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

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 ?

Maximum sum contiguous subarray of an Array

CodeChef Code SGARDEN

How strtok() Works

Find the number ABCD such that when multipled by 4 gives DCBA.

Mirror of Tree

Connect n ropes with minimum cost

Right view of Binary tree

Check Binary Tree is Binary Search Tree or not

Convert Decimal to Roman numbers / Romanizer HackerEarth Code

Maximum size of square sub matrix with all 1’s in a binary matrix

Client Server C program

Print all nodes that are at distance k from a leaf node

Best Java Book | Top Java Programming Book for Beginners

Printing Longest Common Subsequence

SAP Off Campus Hiring_ March 2015 Analytical Aptitude

Binary Tree Isomorphic to each other

Introduction To Number Theory ( Part 1 )

Find Nearest Minimum number in left side in O(n)

Singly linked list

Find loop in Singly linked list

Get K Max and Delete K Max in stream of incoming integers

SAP Off Campus Hiring_ March 2015 Verbal Skills

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

Maximum path sum between two leaves

Common Ancestor in a Binary Tree or Binary Search Tree

Reversal of LinkedList

Find Pythagorean Triplets in an array in O(N)

Implement LRU Cache

Get Minimum element in O(1) from input numbers or Stack

Copyright © 2025 · Genesis Framework · WordPress · Log in