Skip to main content

Hands of Straights Coding Solution POTD Solution 20 May 2023

Hands of Straights Coding Solution Geeks for Geeks Problem of the Day 20 May 2023

GFG POTD Solution Today 

Gfg problem of the day solution with explanation

C++
class Solution {
  public:
    bool isStraightHand(int n, int k, vector &v) {
        // k= group size
        
        if(n%k>0){
            return false;
        }
        map mp;
        for(auto it:v){
            mp[it]++;
        }
        // put all the size() with its frquency in the (min)p_queue
        priority_queue , vector>, greater> > pq;
        for(auto it:mp){
            pq.push({it.first,it.second});
        }
        int cnt=0;
        int last=-1;
        queue> q;
        while(pq.size()>0){
            int t=pq.top().first;
            int val=pq.top().second;
            pq.pop();
            // take top ele of the heap and check if the last element and 
            // the top element are coincidnt if not return false
            // if yes then put the last ele to curr op element and move forward
            if(val-1>0){
                q.push({t,val-1});
            }
            // unit the group size is not reach dont re push the value of heap by subtracting one from it 
            // to pq again till then put the value in queue
            cnt++;
            if(last>=0){
                if(t-last!=1){
                    return false;
                }else{
                    last=t;
                }
            }
            last=t;
            if(cnt==k){
                while(q.size()>0){
                    pq.push(q.front());
                    q.pop();
                }
                last=-1;
                cnt=0;
            }
        }
        // if int the end it finds that the value of cnt is not 0 means still some element left int group 
        if(cnt>0){
            return false;
        }
        return true;
    }
};

Input: 
N = 9 
groupSize = 3 
hand[ ] = {1, 2, 3, 6, 2, 3, 4, 7, 8} 
Output: true 


Input: 
N = 5 
groupSize = 2 
hand[ ] = {1, 2, 3, 4, 5} 
Output: false 

GFG POTD Answer in C++ 
Gfg problem of the day in python
Gfg problem of the day in java

Comments

Popular posts from this blog

TechGig Code Gladiators 2023 Coding Solutions

TechGig Open Coding Round Code Gladiators 2023 Answers Round 1  - Problem 1 Forest Fire Coding Solution Figure out the minimum energy level P such that they can get exactly X animals to transport.  Test Case: 5 4  1 3 2 4 5 Output: 2 Coding Solution in Python 3: from bisect import bisect_left #Telegram - @PLACEMENTLELO n, m = map ( int , input ().split()) a = list ( map ( int , input ().split())) a.sort() #Telegram - @PLACEMENTLELO if n - bisect_left(a, a[n-m]) != m: print ( -1 ) else : print (a[n - m]) #Telegram - @PLACEMENTLELO ------------------------------------------- Round 2  - Problem 2 The Magic Coding Solution The cost of using wand for operation on element equal to absolute difference between value of element and desired value after operation. Test Case: 5 3 1 2 3 4 5 5 2 1 Output: 10 7 10 Coding Solution in Python 3: from bisect import bisect_left #Telegram - @PLACEMENTLELO n, m = map ( int , input ().split()) A = list ( map ( int , input ()...

GEEKS FOR GEEKS WEEKLY CODING CONTEST 103 SOLUTIONS

GEEKS FOR GEEKS WEEKLY CODING CONTEST 103 SOLUTIONS Refueling Code Answer C++ Refueling First GFG Weekly Coding Contest 103 class Solution{     public:     long long refueling(int X)     {         long long a, b;         for(int i=0; i<X; i++){             a = pow(2,i);             if(a == X)return a;             else if(a>X){                 b = pow(2,i-1);                 if(abs(X-a) == abs(X-b))return a;                 if(abs(X-a) < abs(X-b))return a;                 else return b;             }         }         return -1;     } }; Input: X = 3,  Output: 4 Input:  X = 2,...

Bus Conductor Coding Solution POTD Solution 21 May 2023

Bus Conductor  Coding Solution Geeks for Geeks Problem of the Day 21 May 2023 You are conductor of a bus ...  Return the minimum number of moves required GFG POTD Solution Today   Gfg problem of the day solution with explanation C++ class Solution {   public:     int findMoves(int n, vector<int> chairs, vector<int> passengers) {      sort(chairs.begin(), chairs.end());      sort(passengers.begin(), passengers.end());            int ans=0;      for(int i=0;i<n;i++){          ans=ans+abs(passengers[i]-chairs[i]);      }      return ans;     } }; Input:  chairs = [3,1,5]  passengers = [2,7,4]  Output: 4 Input:  chairs = [2,2,6,6]  passengers = [1,3,2,6]  Output: 4 GFG POTD Answer in C++   Gfg problem of the day in python  Gfg problem of the day in java...