From 9e1329f6dfde47ffc357279eafaf1a3d99e8bcb1 Mon Sep 17 00:00:00 2001 From: Firas Naber Date: Mon, 14 Jul 2025 10:57:36 -0500 Subject: [PATCH] lab03: Completed adventure --- lab03/src/adventure/BeeCountingStage.java | 5 +++-- lab03/src/adventure/PalindromeStage.java | 6 +++--- lab03/src/adventure/SpeciesListStage.java | 3 ++- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/lab03/src/adventure/BeeCountingStage.java b/lab03/src/adventure/BeeCountingStage.java index 44db03f..792b4a4 100644 --- a/lab03/src/adventure/BeeCountingStage.java +++ b/lab03/src/adventure/BeeCountingStage.java @@ -3,6 +3,7 @@ import edu.princeton.cs.algs4.In; import edu.princeton.cs.algs4.StdRandom; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -11,7 +12,7 @@ public class BeeCountingStage implements AdventureStage { private final In in; private final Map responses; - private List input; + private final List input = new ArrayList<>(); public BeeCountingStage(In in) { this.in = in; @@ -83,7 +84,7 @@ public Map getResponses() { */ private int sumInput() { int sum = 0; - for (int i = 0; i <= this.input.size(); i++) { + for (int i = 0; i <= this.input.size() - 1; i++) { sum += Integer.parseInt(this.input.get(i)); } return sum; diff --git a/lab03/src/adventure/PalindromeStage.java b/lab03/src/adventure/PalindromeStage.java index 38584c5..7c5820d 100644 --- a/lab03/src/adventure/PalindromeStage.java +++ b/lab03/src/adventure/PalindromeStage.java @@ -64,7 +64,7 @@ public Map getResponses() { /** Returns a new IntList with the contents of the original IntList in reverse order.*/ private static IntList reverseList(IntList l) { IntList reversed = null; - while (l.rest != null) { + while (l != null) { reversed = new IntList(l.first, reversed); l = l.rest; } @@ -77,8 +77,8 @@ private static IntList reverseList(IntList l) { */ private static IntList digitsToIntList(String s) { int[] a = new int[s.length()]; - for (int i = s.length(); i > 0; i++) { - a[s.length() - i] = Character.getNumericValue(s.charAt(i)); + for (int i = 0; i < s.length(); i++) { + a[i] = Character.getNumericValue(s.charAt(i)); } return IntList.of(a); } diff --git a/lab03/src/adventure/SpeciesListStage.java b/lab03/src/adventure/SpeciesListStage.java index 79d8a10..d36fae8 100644 --- a/lab03/src/adventure/SpeciesListStage.java +++ b/lab03/src/adventure/SpeciesListStage.java @@ -101,6 +101,7 @@ public static int arraySimilarity(List listOne, List listTwo) { copy.remove(o); } } - return similarObjects / listOne.size(); + if (similarObjects == listOne.size()) return 1; + return 0; } }