diff --git a/src/L28.java b/src/L28.java new file mode 100644 index 0000000..7951119 --- /dev/null +++ b/src/L28.java @@ -0,0 +1,23 @@ +import utils.Queue; + +public class L28 extends Main { + + public static int sumH(Queue queue) { + int x = queue.remove(); + if (queue.head() > x) { + queue.insert(x); + return queue.head() - x + sumH(queue); + } else { + queue.insert(x); + return 0; + } + } + + public static void main(String[] args) { + Queue queue = buildQueue(1,4,8,17,20); + System.out.println(queue); + System.out.println(sumH(queue)); + System.out.println(queue); + } + +} diff --git a/src/utils/HelpCommands.java b/src/utils/HelpCommands.java index 1440b72..b1c28a2 100644 --- a/src/utils/HelpCommands.java +++ b/src/utils/HelpCommands.java @@ -285,6 +285,14 @@ public static Queue buildQueue(int n, int max) { return queue; } + public static Queue buildQueue(int... values) { + Queue queue = new Queue<>(); + for (int value : values) { + queue.insert(value); + } + return queue; + } + /** * @param queue * @return the length of the queue