Length of Longest Subarray With at Most K Frequency | 2 Ways | Leetcode 2958 | codestorywithMIK

Subscribers:
92,300
Published on ● Video Link: https://www.youtube.com/watch?v=txSMzRMREKA



Duration: 21:51
5,677 views
307


Whatsapp Community Link : https://www.whatsapp.com/channel/0029Va6kVSjICVfiVdsHgi1A
This is the 17th Video of our Playlist "Sliding Window : Popular Interview Problems".

In this video we will try to solve an very classic sliding window problem :
Length of Longest Subarray With at Most K Frequency | 2 Ways | Khandani Sliding Window template | Leetcode 2958 | codestorywithMIK

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 : Length of Longest Subarray With at Most K Frequency | 2 Ways | Khandani Sliding Window template | Leetcode 2958 | codestorywithMIK
Company Tags : will update soon
My solutions on Github(C++ & JAVA) : https://github.com/MAZHARMIK/Interview_DS_Algo/blob/master/Sliding%20Window/Length%20of%20Longest%20Subarray%20With%20at%20Most%20K%20Frequency.cpp
Leetcode Link : https://leetcode.com/problems/length-of-longest-subarray-with-at-most-k-frequency/


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 Sliding Window Playlist : https://www.youtube.com/watch?v=mrUBUWb23hk&list=PLpIkg8OmuX-J2Ivo9YdY7bRDstPPTVGvN&index=1
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 (With Nested Loop - Classic Sliding Window Template)**:
This approach utilizes the classic sliding window technique to find the maximum length of a subarray where the number of distinct integers is at most `k`. The algorithm maintains a sliding window represented by two pointers `i` and `j`, where `i` marks the start of the window and `j` marks the end. It uses a hashmap (`unordered_map` in C++) to store the frequency of each integer within the window. The algorithm iterates through the array, expanding the window (`j`) and contracting it (`i`) as necessary to ensure that the number of distinct integers remains at most `k`. The time complexity of this approach is O(n) since it iterates through the array once, and the space complexity is O(n) due to the hashmap storing the frequency of integers.

**Approach-2 (Without Nested Loop)**:
This approach also finds the maximum length of a subarray where the number of occurrences of a particular integer is at most `k`. However, it achieves this without using nested loops. Instead, it maintains a sliding window represented by two pointers `i` and `j`, similar to Approach-1. Additionally, it uses a hashmap (`unordered_map` in C++) to store the frequency of each integer within the window. However, it introduces an additional variable `culprit` to keep track of the number of integers that have exceeded the limit `k` within the window. The algorithm iterates through the array, expanding the window (`j`) and contracting it (`i`) as necessary. If an integer within the window exceeds the limit `k`, it increments `culprit` and adjusts the window accordingly. This approach also has a time complexity of O(n) and a space complexity of O(n).

╔═╦╗╔╦╗╔═╦═╦╦╦╦╗╔═╗
║╚╣║║║╚╣╚╣╔╣╔╣║╚╣═╣
╠╗║╚╝║║╠╗║╚╣║║║║║═╣
╚═╩══╩═╩═╩═╩╝╚╩═╩═╝

✨ 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




Other Videos By codestorywithMIK


2024-04-05Minimum Remove to Make Valid Parentheses | 3 Detailed Approaches | Leetcode 1249 | codestorywithMIK
2024-04-03Maximum Nesting Depth of the Parentheses | 2 Approaches | Leetcode 1614 | codestorywithMIK
2024-04-01Isomorphic Strings | Simple Thought Process | Leetcode 205| LinkedIn | codestorywithMIK
2024-03-31Length of Last Word | 2 Ways | Leetcode 58 | Amazon | codestorywithMIK
2024-03-31April, we are coming 🔥🔥🔥 #leetcode #maths #leetcodequestionandanswers #codestorywithmik
2024-03-30Count Alternating Subarrays | Super Easy | Leetcode 3031 | Weekly Contest 391 | codestorywithMIK
2024-03-30Subarrays with K Different Integers | Approach-2 | One Pass | Leetcode 992 | codestorywithMIK
2024-03-29Subarrays with K Different Integers | Approach-1 | With Reasons | Leetcode 992 | codestorywithMIK
2024-03-28Count Subarrays Where Max Element Appears at Least K Times | 2 Approaches | Leetcode 2962
2024-03-28Relatable ? 🥹 #codestorywithmik
2024-03-27Length of Longest Subarray With at Most K Frequency | 2 Ways | Leetcode 2958 | codestorywithMIK
2024-03-27Comment down your lines 👨🏻‍💻
2024-03-26Subarray Product Less Than K | Khandani Sliding Window template | Leetcode 713 | codestorywithMIK
2024-03-25First Missing Positive | In Depth Intuition | Clean Code | Leetcode 41 | codestorywithMIK
2024-03-24Longest Common Suffix Queries | Simple TRIE | Clean Code | Leetcode 3093 | codestorywithMIK
2024-03-24Most Frequent IDs | Complete Intuition | Leetcode 3092 | codestorywithMIK
2024-03-22Reorder List | 3 Approaches | Leetcode 143 | codestorywithMIK
2024-03-21Palindrome Linked List | 4 Approaches | Leetcode 234| codestorywithMIK
2024-03-20Task Scheduler | Using Greedy Only | No Heap | Leetcode 621 | codestorywithMIK
2024-03-19Merge In Between Linked Lists | Easy Straight Forward | AMAZON | Leetcode 1669 | codestorywithMIK
2024-03-18Task Scheduler | Easy Intuition | Using Heap | Leetcode 621 | codestorywithMIK