• 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

VMWare Openings

Doubly linked list

Count Possible Decodings of a given Digit Sequence

SAP Off Campus Hiring_ March 2015 Analytical Aptitude

Convert number to words java

Maximum of all subarrays of size k

N Petrol bunks or City arranged in circle. You have Fuel and distance between petrol bunks. Is it possible to find starting point so that we can travel all Petrol Bunks

Common Ancestor in a Binary Tree or Binary Search Tree

Binary Tree Isomorphic to each other

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

Maximum difference between two elements s.t larger element appears after the smaller number

Circular Linked List

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

Sort an array according to the order defined by another array

Apriori algorithm C Code Data Mining

Connect n ropes with minimum cost

Find min element in Sorted Rotated Array (With Duplicates)

HackeEarth Flipkart’s Drone

Hackerearth : Counting Subarrays

‘N’ Story Building, with 1,2,3 steps how many ways can a person reach top of building.

Test Cases for Round Function

Serialise Deserialise N-ary Tree

ADOBE Aptitude C Language Test

Memory Efficient LinkedList

BFS (Breath First Search)

C Program for TAIL command of UNIX

Diagonal Traversal of Binary Tree

Find shortest distances between every pair of vertices ( Dynamic Programming Floyd Warshall Algorithm)

Printing Longest Common Subsequence

Minimum insertions to form a palindrome

Copyright © 2026 · Genesis Framework · WordPress · Log in