Real-World Applications of Leetcode

     

As I’ve been grinding through LeetCode problems I’ve been reminded of some of the real-world applications of the algorithms used during my past life as an Army officer. The “Call For Fire” (CFF) is one such example. A CFF is a radio request for artillery fire and is performed by a Forward Observer (FO) using a map, compass, protractor, binoculars with reticle pattern, and a target. Before contacting the artillery battery, the FO makes their best guess with regards to the location of the target on their map.


Dealing with Disappointment

     

At the start of the year I wrote a blog entry outlining my goals for the year, specifically: Learn Rust. Use it to build a StarCraft bot. Climb three new mountains. Complete the Mazamas Intermediate Climbing School (ICS) I accomplished the first goal pretty early on. You can read about it here. The second took a little longer, but I eventually summitted three new mountains, Mt. Hood, Old Snowy, and Three Finger Jack.


Leetcode Grinding

     

The past couple months I’ve been working my way through different LeetCode problems because they force me to grapple with challenges that I don’t really see in my day to day work. I’ve shifted from HackerRank in order to increase the variety of questions that I see. The problems I’ve been working on are part of a curated set called “LeetCode 75”. These cover string operations, two pointer problems, sliding windows, prefix sums, stacks, queues, linked lists, binary trees, graphs, depth first/breadth first search, heaps, bits, and dynamic programming.


The Utility of Today's AI

     

Last month’s article foreshadowed this article’s topic a bit with the sources cited at the bottom. ChatGPT generated the Rust code snippets after I told it “Write a Rust queue using a linked list.” I had to specify that it use a linked list, otherwise ChatGPT would have imported the Rust queue library which uses a less efficient vector implementation. DALL-E generated the image when provided the title of the article, “Rust queue performance.


Rust Queue Performance

     

After creating my Starcraft Rustbot and then comparing queue performance in Kotlin and Swift, I naturally began to wonder about the performance of a queue in Rust. How would a language billed as performant as C compare? Are there truly significant gains for operating “close to the metal”, or have the Swift and Kotlin compilers developed to a point where they can optimize to a similar level of performance? Below is the implementation for my Rust queue: