added gitignore

This commit is contained in:
2025-12-28 20:55:38 +00:00
parent fd12f0255d
commit 81472e597a
116 changed files with 326 additions and 325 deletions

View File

@@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2025-12-28 Sun 20:49 -->
<!-- 2025-12-28 Sun 20:54 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>AOC Notes</title>
@@ -308,9 +308,9 @@ some regex below: this checks if the input is of the correct format.
<h2 id="org40202d1"><a href="#org40202d1">Day 4</a></h2>
<div class="outline-text-2" id="text-org40202d1">
</div>
<div id="outline-container-orgc4db3e6" class="outline-3">
<h3 id="orgc4db3e6"><a href="#orgc4db3e6">part 1</a></h3>
<div class="outline-text-3" id="text-orgc4db3e6">
<div id="outline-container-org651ead7" class="outline-3">
<h3 id="org651ead7"><a href="#org651ead7">part 1</a></h3>
<div class="outline-text-3" id="text-org651ead7">
<p>
was extremely difficult. i had to load the input as a 2d array,
</p>
@@ -377,9 +377,9 @@ After scanning all positions and directions in the grid, the total count is retu
</div>
</div>
</div>
<div id="outline-container-org2e9ef8c" class="outline-3">
<h3 id="org2e9ef8c"><a href="#org2e9ef8c">part 2</a></h3>
<div class="outline-text-3" id="text-org2e9ef8c">
<div id="outline-container-org4991c73" class="outline-3">
<h3 id="org4991c73"><a href="#org4991c73">part 2</a></h3>
<div class="outline-text-3" id="text-org4991c73">
<p>
was alot easier, i looped through the whole grid, and wherever there is the letter &rsquo;A&rsquo;, i want to check around it, it can be in the form:
</p>
@@ -547,13 +547,13 @@ Same approach as in Part One but applied after sorting.
<h2 id="org6bbf4e0"><a href="#org6bbf4e0">Day 6</a></h2>
<div class="outline-text-2" id="text-org6bbf4e0">
</div>
<div id="outline-container-orgd37ccb8" class="outline-3">
<h3 id="orgd37ccb8"><a href="#orgd37ccb8">Part 1</a></h3>
<div class="outline-text-3" id="text-orgd37ccb8">
<div id="outline-container-org9fb203d" class="outline-3">
<h3 id="org9fb203d"><a href="#org9fb203d">Part 1</a></h3>
<div class="outline-text-3" id="text-org9fb203d">
</div>
<div id="outline-container-org6e12e3d" class="outline-4">
<h4 id="org6e12e3d"><a href="#org6e12e3d">Input Parsing</a></h4>
<div class="outline-text-4" id="text-org6e12e3d">
<div id="outline-container-orgc5c81c7" class="outline-4">
<h4 id="orgc5c81c7"><a href="#orgc5c81c7">Input Parsing</a></h4>
<div class="outline-text-4" id="text-orgc5c81c7">
<div class="org-src-container">
<pre class="src src-java">List&lt;String&gt; input = Files.readAllLines(Paths.get("aoc_24/src/day_6/input"));
int rows = input.size();
@@ -563,9 +563,9 @@ char[][] map = new char[rows][cols];
</div>
</div>
</div>
<div id="outline-container-org31152d1" class="outline-4">
<h4 id="org31152d1"><a href="#org31152d1">Guard Initialization</a></h4>
<div class="outline-text-4" id="text-org31152d1">
<div id="outline-container-org38bc87d" class="outline-4">
<h4 id="org38bc87d"><a href="#org38bc87d">Guard Initialization</a></h4>
<div class="outline-text-4" id="text-org38bc87d">
<div class="org-src-container">
<pre class="src src-java">for (int r = 0; r &lt; rows; r++) {
for (int c = 0; c &lt; cols; c++) {
@@ -581,9 +581,9 @@ char[][] map = new char[rows][cols];
</div>
</div>
</div>
<div id="outline-container-org7aa6019" class="outline-4">
<h4 id="org7aa6019"><a href="#org7aa6019">Movement Directions</a></h4>
<div class="outline-text-4" id="text-org7aa6019">
<div id="outline-container-org4c014f6" class="outline-4">
<h4 id="org4c014f6"><a href="#org4c014f6">Movement Directions</a></h4>
<div class="outline-text-4" id="text-org4c014f6">
<div class="org-src-container">
<pre class="src src-java">Map&lt;Character, int[]&gt; directions = Map.of(
'^', new int[] {-1, 0},
@@ -595,9 +595,9 @@ char[][] map = new char[rows][cols];
</div>
</div>
</div>
<div id="outline-container-org23aed04" class="outline-4">
<h4 id="org23aed04"><a href="#org23aed04">Turning Logic</a></h4>
<div class="outline-text-4" id="text-org23aed04">
<div id="outline-container-org1c9552f" class="outline-4">
<h4 id="org1c9552f"><a href="#org1c9552f">Turning Logic</a></h4>
<div class="outline-text-4" id="text-org1c9552f">
<div class="org-src-container">
<pre class="src src-java">Map&lt;Character, Character&gt; turnRight = Map.of(
'^', '&gt;',
@@ -645,13 +645,13 @@ visited.add(guardRow + "," + guardCol);
</div>
</div>
</div>
<div id="outline-container-org2a5be15" class="outline-3">
<h3 id="org2a5be15"><a href="#org2a5be15">Part 2</a></h3>
<div class="outline-text-3" id="text-org2a5be15">
<div id="outline-container-org0480902" class="outline-3">
<h3 id="org0480902"><a href="#org0480902">Part 2</a></h3>
<div class="outline-text-3" id="text-org0480902">
</div>
<div id="outline-container-org0611f53" class="outline-4">
<h4 id="org0611f53"><a href="#org0611f53">Input Parsing</a></h4>
<div class="outline-text-4" id="text-org0611f53">
<div id="outline-container-orgd23b73a" class="outline-4">
<h4 id="orgd23b73a"><a href="#orgd23b73a">Input Parsing</a></h4>
<div class="outline-text-4" id="text-orgd23b73a">
<div class="org-src-container">
<pre class="src src-java">List&lt;String&gt; input = Files.readAllLines(Paths.get("aoc_24/src/day_6/input"));
int rows = input.size();
@@ -661,9 +661,9 @@ char[][] map = new char[rows][cols];
</div>
</div>
</div>
<div id="outline-container-org38bc87d" class="outline-4">
<h4 id="org38bc87d"><a href="#org38bc87d">Guard Initialization</a></h4>
<div class="outline-text-4" id="text-org38bc87d">
<div id="outline-container-orgee3494a" class="outline-4">
<h4 id="orgee3494a"><a href="#orgee3494a">Guard Initialization</a></h4>
<div class="outline-text-4" id="text-orgee3494a">
<div class="org-src-container">
<pre class="src src-java">for (int r = 0; r &lt; rows; r++) {
for (int c = 0; c &lt; cols; c++) {
@@ -679,9 +679,9 @@ char[][] map = new char[rows][cols];
</div>
</div>
</div>
<div id="outline-container-org4c014f6" class="outline-4">
<h4 id="org4c014f6"><a href="#org4c014f6">Movement Directions</a></h4>
<div class="outline-text-4" id="text-org4c014f6">
<div id="outline-container-org69b6ea2" class="outline-4">
<h4 id="org69b6ea2"><a href="#org69b6ea2">Movement Directions</a></h4>
<div class="outline-text-4" id="text-org69b6ea2">
<div class="org-src-container">
<pre class="src src-java">Map&lt;Character, int[]&gt; directions = Map.of(
'^', new int[] {-1, 0},
@@ -693,9 +693,9 @@ char[][] map = new char[rows][cols];
</div>
</div>
</div>
<div id="outline-container-org1c9552f" class="outline-4">
<h4 id="org1c9552f"><a href="#org1c9552f">Turning Logic</a></h4>
<div class="outline-text-4" id="text-org1c9552f">
<div id="outline-container-org77ae6bf" class="outline-4">
<h4 id="org77ae6bf"><a href="#org77ae6bf">Turning Logic</a></h4>
<div class="outline-text-4" id="text-org77ae6bf">
<div class="org-src-container">
<pre class="src src-java">Map&lt;Character, Character&gt; turnRight = Map.of(
'^', '&gt;',
@@ -774,13 +774,13 @@ System.out.println("Number of valid obstruction positions: " + validObstructions
<h2 id="org1d44d9d"><a href="#org1d44d9d">Day 7</a></h2>
<div class="outline-text-2" id="text-org1d44d9d">
</div>
<div id="outline-container-org651ead7" class="outline-3">
<h3 id="org651ead7"><a href="#org651ead7">Part 1</a></h3>
<div class="outline-text-3" id="text-org651ead7">
<div id="outline-container-orgddb9299" class="outline-3">
<h3 id="orgddb9299"><a href="#orgddb9299">Part 1</a></h3>
<div class="outline-text-3" id="text-orgddb9299">
</div>
<div id="outline-container-org90d95ed" class="outline-4">
<h4 id="org90d95ed"><a href="#org90d95ed">Input Parsing</a></h4>
<div class="outline-text-4" id="text-org90d95ed">
<div id="outline-container-orgbb1929e" class="outline-4">
<h4 id="orgbb1929e"><a href="#orgbb1929e">Input Parsing</a></h4>
<div class="outline-text-4" id="text-orgbb1929e">
<ul class="org-ul">
<li>Parse the input file, where each line is in the format `&lt;testValue&gt;: &lt;number1&gt; &lt;number2&gt; &#x2026;`</li>
<li>`testValue` is a target number, and we determine if it can be computed by combining the given numbers with `+` or `*`.</li>
@@ -798,9 +798,9 @@ for (String line : input) {
</div>
</div>
</div>
<div id="outline-container-org9ae93a6" class="outline-4">
<h4 id="org9ae93a6"><a href="#org9ae93a6">Validation Logic</a></h4>
<div class="outline-text-4" id="text-org9ae93a6">
<div id="outline-container-org10fefac" class="outline-4">
<h4 id="org10fefac"><a href="#org10fefac">Validation Logic</a></h4>
<div class="outline-text-4" id="text-org10fefac">
<ul class="org-ul">
<li>The `isValidEquation` function checks if any combination of operators (`+` or `*`) between the numbers matches the `testValue`.</li>
<li>Evaluation is performed left-to-right.</li>
@@ -833,9 +833,9 @@ for (String line : input) {
</div>
</div>
</div>
<div id="outline-container-orgad23731" class="outline-4">
<h4 id="orgad23731"><a href="#orgad23731">Operator Combination Generator</a></h4>
<div class="outline-text-4" id="text-orgad23731">
<div id="outline-container-orgac546eb" class="outline-4">
<h4 id="orgac546eb"><a href="#orgac546eb">Operator Combination Generator</a></h4>
<div class="outline-text-4" id="text-orgac546eb">
<ul class="org-ul">
<li>Generate all possible combinations of `+` and `*` for `n-1` positions (where `n` is the number of numbers).</li>
</ul>
@@ -861,9 +861,9 @@ private static void generateOperatorCombinationsRecursive(String[] current, int
</div>
</div>
</div>
<div id="outline-container-orgd11bb60" class="outline-4">
<h4 id="orgd11bb60"><a href="#orgd11bb60">Main Logic</a></h4>
<div class="outline-text-4" id="text-orgd11bb60">
<div id="outline-container-org5a2ff67" class="outline-4">
<h4 id="org5a2ff67"><a href="#org5a2ff67">Main Logic</a></h4>
<div class="outline-text-4" id="text-org5a2ff67">
<ul class="org-ul">
<li>Iterate over each line of input.</li>
<li>Parse `testValue` and numbers.</li>
@@ -885,13 +885,13 @@ System.out.println("Total Calibration Result: " + totalCalibrationResult);
</div>
</div>
</div>
<div id="outline-container-org4991c73" class="outline-3">
<h3 id="org4991c73"><a href="#org4991c73">Part 2</a></h3>
<div class="outline-text-3" id="text-org4991c73">
<div id="outline-container-org8fd0647" class="outline-3">
<h3 id="org8fd0647"><a href="#org8fd0647">Part 2</a></h3>
<div class="outline-text-3" id="text-org8fd0647">
</div>
<div id="outline-container-orgc5c81c7" class="outline-4">
<h4 id="orgc5c81c7"><a href="#orgc5c81c7">Input Parsing</a></h4>
<div class="outline-text-4" id="text-orgc5c81c7">
<div id="outline-container-org4195c12" class="outline-4">
<h4 id="org4195c12"><a href="#org4195c12">Input Parsing</a></h4>
<div class="outline-text-4" id="text-org4195c12">
<ul class="org-ul">
<li>Reads an input file where each line is formatted as `&lt;testValue&gt;: &lt;number1&gt; &lt;number2&gt; &#x2026;`.</li>
<li>Parses `testValue` and the numbers to evaluate equations that could result in `testValue`.</li>
@@ -909,9 +909,9 @@ for (String line : input) {
</div>
</div>
</div>
<div id="outline-container-org10fefac" class="outline-4">
<h4 id="org10fefac"><a href="#org10fefac">Validation Logic</a></h4>
<div class="outline-text-4" id="text-org10fefac">
<div id="outline-container-org81dc317" class="outline-4">
<h4 id="org81dc317"><a href="#org81dc317">Validation Logic</a></h4>
<div class="outline-text-4" id="text-org81dc317">
<ul class="org-ul">
<li>The `isValidEquation` function checks if any combination of operators (`+`, `*`, or `||`) between numbers can match the `testValue`.</li>
<li>Includes support for a new operator `||`:
@@ -951,9 +951,9 @@ for (String line : input) {
</div>
</div>
</div>
<div id="outline-container-orgac546eb" class="outline-4">
<h4 id="orgac546eb"><a href="#orgac546eb">Operator Combination Generator</a></h4>
<div class="outline-text-4" id="text-orgac546eb">
<div id="outline-container-orgb1a91e4" class="outline-4">
<h4 id="orgb1a91e4"><a href="#orgb1a91e4">Operator Combination Generator</a></h4>
<div class="outline-text-4" id="text-orgb1a91e4">
<ul class="org-ul">
<li>Generates all possible combinations of `+`, `*`, and `||` operators for `n-1` positions (where `n` is the number of numbers).</li>
<li>Recursively builds the combinations.</li>
@@ -980,9 +980,9 @@ private static void generateOperatorCombinationsRecursive(String[] current, int
</div>
</div>
</div>
<div id="outline-container-org5a2ff67" class="outline-4">
<h4 id="org5a2ff67"><a href="#org5a2ff67">Main Logic</a></h4>
<div class="outline-text-4" id="text-org5a2ff67">
<div id="outline-container-orgf99c86c" class="outline-4">
<h4 id="orgf99c86c"><a href="#orgf99c86c">Main Logic</a></h4>
<div class="outline-text-4" id="text-orgf99c86c">
<ul class="org-ul">
<li>Iterates over each line of input.</li>
<li>Parses `testValue` and numbers.</li>
@@ -1417,9 +1417,9 @@ Would you like to make any adjustments or add further examples?
<h2 id="orgf810444"><a href="#orgf810444">Day 12</a></h2>
<div class="outline-text-2" id="text-orgf810444">
</div>
<div id="outline-container-org38fab89" class="outline-3">
<h3 id="org38fab89"><a href="#org38fab89">Core Logic and Functionality</a></h3>
<div class="outline-text-3" id="text-org38fab89">
<div id="outline-container-orgb23e1e5" class="outline-3">
<h3 id="orgb23e1e5"><a href="#orgb23e1e5">Core Logic and Functionality</a></h3>
<div class="outline-text-3" id="text-orgb23e1e5">
<ol class="org-ol">
<li>Coordinates Mapping:
<ul class="org-ul">
@@ -1501,9 +1501,9 @@ p2 += area * fetchSides(fences);
</ul></li>
</ol>
</div>
<div id="outline-container-orgb23e1e5" class="outline-4">
<h4 id="orgb23e1e5"><a href="#orgb23e1e5">Core Logic and Functionality</a></h4>
<div class="outline-text-4" id="text-orgb23e1e5">
<div id="outline-container-org0687a90" class="outline-4">
<h4 id="org0687a90"><a href="#org0687a90">Core Logic and Functionality</a></h4>
<div class="outline-text-4" id="text-org0687a90">
<ul class="org-ul">
<li>Coordinates mapping using a Map&lt;Character, List&lt;Point&gt;&gt; to track character positions.</li>
<li>Flood-fill algorithm using a stack to explore regions of connected characters.</li>