Time Needed to Buy Tickets | 3 Approaches | Leetcode 2073 | codestorywithMIK
Whatsapp Community Link : https://www.whatsapp.com/channel/0029Va6kVSjICVfiVdsHgi1A
This is the 31st Video of our Playlist "Leetcode Easy: Popular Interview Problems".
In this video we will try to solve an easy but a very good practice problem : Time Needed to Buy Tickets | Leetcode 2073
I will explain the intuition so easily that you will never forget and start seeing this as cakewalk EASYYY.
We will do live coding after explanation and see if we are able to pass all the test cases.
Also, please note that my Github solution link below contains both C++ as well as JAVA code.
Problem Name : Time Needed to Buy Tickets | 3 Approaches | Leetcode 2073 | codestorywithMIK
Company Tags : Will update soon
My solutions on Github(C++ & JAVA) : https://github.com/MAZHARMIK/Interview_DS_Algo/blob/master/Arrays/Leetcode%20Easy/Time%20Needed%20to%20Buy%20Tickets.cpp
Leetcode Link : https://leetcode.com/problems/time-needed-to-buy-tickets/
My DP Concepts Playlist : https://youtu.be/7eLMOE1jnls
My Graph Concepts Playlist : https://youtu.be/5JGiZnr6B5w
My Recursion Concepts Playlist : https://www.youtube.com/watch?v=pfb1Zduesi8&list=PLpIkg8OmuX-IBcXsfITH5ql0Lqci1MYPM
My GitHub Repo for interview preparation : https://github.com/MAZHARMIK/Interview_DS_Algo
Instagram : https://www.instagram.com/codestorywithmik/
Facebook : https://www.facebook.com/people/codestorywithmik/100090524295846/
Twitter : https://twitter.com/CSwithMIK
Subscribe to my channel : https://www.youtube.com/@codestorywithMIK
Approach Summary :
Approach-1 - The provided C++ code implements a solution to find the time required for a person to buy all their tickets in a queue.
1. It initializes a queue (`que`) with indices representing people in the queue.
2. It iterates through the queue, simulating each person buying tickets one at a time until they have bought all of their tickets.
3. If the person at index `k` buys all their tickets, the function returns the time taken.
4. The process continues until all people have bought their tickets.
This approach efficiently tracks the passage of time and updates the queue based on the number of tickets each person still needs to purchase.
Approach-2 - The approach iterates through each person in the queue repeatedly until the targeted person (`k`) has purchased all their tickets.
Here's a summary of the approach:
1. It initializes the time counter and checks if the targeted person (`k`) only needs to buy one ticket. If so, it returns the time taken for them to buy that ticket.
2. It enters a loop that continues until the targeted person (`k`) has bought all their tickets.
3. Within each iteration of the loop, it iterates through each person in the queue. For each person:
4. If the targeted person (`k`) has not bought all their tickets after iterating through all persons, the loop continues until they do.
5. Finally, it returns the total time taken for the targeted person (`k`) to purchase all their tickets.
Approach-3 - Here's a summary of the approach:
1. It initializes the time counter to zero.
2. It iterates through each person in the queue using a loop.
3. For each person (`i`), it checks if their index is less than or equal to the index of the targeted person (`k`). If so, it adds the minimum of the number of tickets the targeted person (`k`) needs and the number of tickets the current person (`i`) has to the total time. This represents the scenario where the current person (`i`) and the targeted person (`k`) are both before or at the same position in the queue.
4. If the index of the current person (`i`) is greater than `k`, it adds the minimum of one less than the number of tickets the targeted person (`k`) needs and the number of tickets the current person (`i`) has to the total time. This accounts for the scenario where the current person (`i`) is after the targeted person (`k`) in the queue.
5. After iterating through all persons in the queue, it returns the total time taken for the targeted person (`k`) to purchase all their tickets.
╔═╦╗╔╦╗╔═╦═╦╦╦╦╗╔═╗
║╚╣║║║╚╣╚╣╔╣╔╣║╚╣═╣
╠╗║╚╝║║╠╗║╚╣║║║║║═╣
╚═╩══╩═╩═╩═╩╝╚╩═╩═╝
✨ Timelines✨
00:00 - Introduction
#coding #helpajobseeker #easyrecipes #leetcode #leetcodequestionandanswers #leetcodesolution #leetcodedailychallenge #leetcodequestions #leetcodechallenge #hindi #india #coding #helpajobseeker #easyrecipes #leetcode #leetcodequestionandanswers #leetcodesolution #leetcodedailychallenge#leetcodequestions #leetcodechallenge #hindi #india #hindiexplanation #hindiexplained #easyexplaination #interview#interviewtips #interviewpreparation #interview_ds_algo #hinglish #github #design #data #google #video #instagram #facebook #leetcode #computerscience #leetcodesolutions #leetcodequestionandanswers #code #learning #dsalgo #dsa #newyear2024