@@ -0,0 +1,1302 @@
+package algorithm.implementation;%0D%0A%0D%0Aimport java.util.ArrayList;%0D%0Aimport java.util.Collections;%0D%0Aimport java.util.List;%0D%0Aimport java.util.Scanner;%0D%0A%0D%0A/**%0D%0A *%0D%0A * @version $Revision$%0D%0A * @version $Date$%0D%0A * @author $Author$%0D%0A * @owner Sandro Mario Zbinden%0D%0A */%0D%0Apublic class CutTheSticks %7B%0D%0A    public static class Solution %7B%0D%0A%0D%0A        public static void cutTheSticks(List%3CInteger%3E stickList) %7B%0D%0A            if (stickList.isEmpty()) %7B%0D%0A                return;%0D%0A            %7D else %7B%0D%0A                System.out.println(stickList.size());%0D%0A                final Integer min = stickList.get(0);%0D%0A                while (stickList.remove(min)) %7B%0D%0A                    //emptyt the lst%0D%0A                %7D%0D%0A                cutTheSticks(stickList);%0D%0A            %7D%0D%0A        %7D%0D%0A%0D%0A        public static void main(String%5B%5D args) %7B%0D%0A            try (Scanner in = new Scanner(System.in)) %7B%0D%0A                int n = in.nextInt();%0D%0A                List%3CInteger%3E stickList = new ArrayList%3C%3E();%0D%0A                for (int i = 0; i %3C n; i++) %7B%0D%0A                    stickList.add(in.nextInt());%0D%0A                %7D%0D%0A                Collections.sort(stickList);%0D%0A                cutTheSticks(stickList);%0D%0A            %7D%0D%0A        %7D%0D%0A    %7D%0D%0A%0D%0A    public static void main(String%5B%5D args) %7B%0D%0A        Solution.main(null);%0D%0A    %7D%0D%0A%7D%0D%0A

Add new solution with array approch for CutTheSticks Problem