Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- import java.util.*;
- import java.text.*;
- import java.math.*;
- import java.util.regex.*;
- //Cut the sticks exercise
- public class Solution {
- public static void main(String[] args) {//reads and formats the input
- Scanner in= new Scanner(System.in);
- int stick_size= Integer.parseInt(in.nextLine());
- int[] sticks= new int[stick_size];
- int item;
- String next= in.nextLine();
- String[] next_split= next.split(" ");
- for(int i=0; i<stick_size; i++){
- item=Integer.parseInt(next_split[i]);
- sticks[i]=item;
- }
- cut(sticks);
- }
- public static void cut(int[] sticks){//gets the number of cuts
- while(sticks.length>0){
- int mini= findMin(sticks);
- System.out.println(sticks.length);
- minus(sticks, mini);
- sticks= removeZeros(sticks);
- }
- }
- public static int findMin(int[] in){//finds the smallest number
- int min= in[0];
- for(int i: in){
- if(i<min) min= i;
- }
- return min;
- }
- public static void minus(int[] input, int min){//takes off the number
- for(int i=0; i<input.length; i++){
- input[i]=input[i]-min;
- }
- }
- public static int[] removeZeros(int[] in){//mutates the array
- int j=0;
- for(int i=0; i<in.length; i++){
- if(in[i]!=0) in[j++]=in[i];
- }
- int[] newArray= new int[j];
- System.arraycopy(in, 0, newArray,0,j);
- return newArray;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement