• 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 loop in Singly linked list

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

Find if a binary tree is height balanced ?

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

Generate next palindrome number

Skiing on Mountains Matrix

Python Dictionaries

Find the kth number with prime factors 3, 5 and 7

Python String and numbers

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

Linked List V/S Binary Search Tree

Edit Distance ( Dynamic Programming )

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

Printing Longest Common Subsequence

Practo Hiring Experience

Spanning Tree

SAP Off Campus Hiring_ March 2015 Verbal Skills

Find Percentage of Words matching in Two Strings

robot standing at first cell of an M*N matrix. It can move only in two directions, right and down. In how many ways, it can reach to the last cell i.e. (M, N) Code it

Generate largest number arranging a no. of given non negative integer numbers

Maximum sum contiguous subarray of an Array

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

Subset Sum Problem Dynamic programming

Python Array String

Naurki.com Security Breach

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

Diagonal Traversal of Binary Tree

The greedy coins game Dynamic Programming

Find if two rectangles overlap

Printing intermediate Integers between one element & next element of array

Copyright © 2026 · Genesis Framework · WordPress · Log in