Distribute Candies to People

     vector<int> distributeCandies(int candies, int n) {
        vector<int> res(n);
        for (int i = 0; candies > 0; ++i) {
            res[i % n] += min(candies, i + 1);
            candies -= i + 1;
        }
        return res;
    }

 

  vector<int> distributeCandies(int candies, int num_people) {
        
        int c = 1, i = 0;
        
        vector<int> result(num_people, 0);
        
        while(candies) {

            int give = min(c, candies);
            result[i] += give;
            candies -= give;
            
            c++;
            i = (i+1) % num_people; 
        }
        
        return result;
    }

 

Comments

Popular posts from this blog

Perfect Peak of Array

Is Rectangle?

Sort array with squares!