We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
  • HackerRank Home

    HackerRank

  • |
  • Prepare
  • Certify
  • Compete
  • Hiring developers?
  1. Prepare
  2. Algorithms
  3. Implementation
  4. Cut the sticks
  5. Discussions

Cut the sticks

Problem
Submissions
Leaderboard
Discussions
Editorial
Topics

    You are viewing a single comment's thread. Return to all comments →

  • anand_vishnu
    2 months ago+ 0 comments

    without using while. It just uses sort and 1 loop to reach to answer

    vector<int> cutTheSticks(vector<int> arr) {
        sort(arr.begin(), arr.end());
        
        vector<int> result;
        result.push_back(arr.size());
        int smallest = arr[0];
        for(int i=0; i < arr.size(); i++)
        {
            int elem = arr[i] - smallest;
            if(elem > 0)
            {
                result.push_back(arr.size()-i);
                smallest += elem;
            }
        }
        
        return result;
    }
    
    1|
    Permalink
  • Blog
  • Scoring
  • Environment
  • FAQ
  • About Us
  • Support
  • Careers
  • Terms Of Service
  • Privacy Policy