LeetCode 681. Next Closest Time in Java

In this post we will solve LeetCode 681. Next Closest Time problem using the Java programming language, the VSCode IDE on a Windows computer. Please note that the computer platform and the IDE should make no difference. One of the simplest ways to solve the problem is to use the online IDE provided by LeetCode.

Given a time represented in the format "HH:MM", 
form the next closest time by reusing the current digits. 
There is no limit on how many times a digit can be reused.

You may assume the given input string is always valid. 
For example, "01:34", "12:09" are all valid. 
"1:34", "12:9" are all invalid.


* time.length == 5
* time is a valid time in the form "HH:MM".
o 0 <= HH < 24
o 0 <= MM < 60

Related Topics:

o String
o Enumeration

We are given a string with a time expressed in 24-hour format. By reusing the digits as many times as needed, we need to form the next closest time. Continue reading “LeetCode 681. Next Closest Time in Java”

LeetCode 223 Rectangle Area in Java

In this post we will solve LeetCode 223 Rectangle Area in Java.

Given the coordinates of two rectilinear rectangles in a 2D plane, 
return the total area covered by the two rectangles.

The first rectangle is defined by its bottom-left corner (ax1, ay1) and its top-right corner (ax2, ay2).

The second rectangle is defined by its bottom-left corner (bx1, by1) and its top-right corner (bx2, by2).


o -10^4 <= ax1, ay1, ax2, ay2, bx1, by1, bx2, by2 <= 10^4

Related Topics:

o Math
o Geometry

We are given the coordinates of two rectilinear rectangles in a 2D plane and are asked to return the total area covered by the two rectangles. Continue reading “LeetCode 223 Rectangle Area in Java”

LeetCode 445 Add Two Numbers II in Java

In this post we will solve the LeetCode 445 Add Two Numbers II problem using the Java programming language. We will generate two implementations of the function in question. The first will use two stacks while the second will reverse the singly linked list. When reversing linked lists we will implement an iterative and a recursive set of functions.

You are given two non-empty linked lists representing two non-negative integers. 
The most significant digit comes first and each of their nodes contains a single digit. 
Add the two numbers and return the sum as a linked list.

You may assume the two numbers do not contain any leading zero, except the number 0 itself.


o The number of nodes in each linked list is in the range [1, 100].
o 0 <= Node.val <= 9
o It is guaranteed that the list represents a number that does not have leading zeros.

Follow up:

o Could you solve it without reversing the input lists?

Related Topics:

o Linked List
o Math
o Stack

We are given two singly linked lists with digits representing two non-negative numbers. We need to return their sum in a singly linked list. If interested in this problem I suggest you visit LeetCode and get the current version of the problem. Sometimes the requirements are updated. Continue reading “LeetCode 445 Add Two Numbers II in Java”

LeetCode 1185 Day of the Week in Java

In this post we will attempt to solve the LeetCode 1185 Day of the Week problem.

Given a date, return the corresponding day of the week for that date.

The input is given as three integers representing the day, month and year respectively.

Return the answer as one of the following values {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}.

In a nutshell we are given a date in day, month, and year and we need to return a string that contains the name of the day. The problem is very easy to understand. Continue reading “LeetCode 1185 Day of the Week in Java”

Merge Sort Revisited

Good morning! Hope your day has started on the right note. Yesterday was quite hectic for me. Hopefully the day will go as smooth as possible. Continue reading “Merge Sort Revisited”

Direct Recursion

Good day software developers and software engineers. The forecast for today Thursday in the Twin Cities of Minneapolis and St. Paul calls for rain and thunderstorms. As usual the forecast changed at least a couple times in the past few days. Today the storm is forecasted for the evening hours. So far I have not heard thunder. I do not like to have my computers on during a thunderstorm. A couple times I have lost some equipment. Continue reading “Direct Recursion”

Fraudulent Activity Notification

Good day software developers and engineers. Hope your day is going well. The days are getting shorter and colder in the Twin Cities of Minneapolis and St. Paul.

As usual, my wife fixed lunch. It was quite good. Some type of meat stew. For desert we had `gypsy’s arm`. If interested in this dessert please read the article “Gypsy’s Arm Explained“. My wife has been making this desert since we were dating. At some point she used a single can of `dulce de leche`. In the past couple years she is been using two cans. That makes for a much better dessert. Please do not confuse `dulce de leche` with `tres leches cake`. They are completely different things. Continue reading “Fraudulent Activity Notification”

Memory Pools – Revisited

It is Friday morning. The day started with a thunderstorm and some rain. After breakfast the storms were done. Last Thursday afternoon we had powerful storms with lots of rain. Some roads in the area had about two inches of water during the storms. Cars on roads were splashing water all over. I did not hear about accidents. That was good news!

After my first 2-hour block I sat with my wife and chatted for a few minutes. We were discussing the fact that for most people their normal state does not reflect happiness. It is a shame because such state just builds on itself and continues to spiral downwards. We try to be approachable both at home and work. People like and appreciates such behavior. Continue reading “Memory Pools – Revisited”

Unique Binary Search Trees

It has been raining all day in the Twin Cities of Minneapolis and St. Paul. The good thing is that there has been little lightning. I was going to replace an old UPS that I am using to power my main computer in which I develop all the code for this blog, but it was not necessary. I will replace the UPS over the weekend. Continue reading “Unique Binary Search Trees”

All Construct – Tabulation

Good day!!! Hope your day is going well. The day started relatively cold at 58F with relative humidity around 93%. The weather, according to my iPhone, was fair. My wife and I did our daily morning walk as soon as we were done with breakfast. On my way back I usually water the plans, but due to the weather conditions, I decided to skip. I will water them tomorrow morning.

In my previous post Can Construct – Tabulation I was not please with the telephone support provided by Delta Airlines. They offer a callback when you are waiting to speak with a representative. For example, a callback was promised while being informed that the wait was about 3-hours long. The callback would be received about 12 hours latter; sometimes in the middle of the night.

It is a fact that airlines were hit hard with the COVID-19 pandemic. Most of them (never generalize) let go a large part of their staff. In the past few weeks things are starting to return to normal with customer service at Delta. Earlier this week I placed a call to change several things on a reservation. There was a delay of about two hours (2:15). I requested a callback and as usual wrote the time I expected a representative to call me. About two hours later, Ronda from Delta called. She was very pleasant. She spent a lot of time (15 minutes or so) to make all the changes I requested. Not only that, but she suggested alternatives that could save me some money and make the travelling experience better. Felt like service was back to pre COVID-19 pandemic. Great job Ronda!!!

You probably have heard of competitive programming. It seems that software engineers need to solve a problem as soon as possible. Sounds good, but imagine if you go for a surgery and the surgeon wants to perform the procedure in the least amount of time. Not sure about you, but I would prefer someone with experience that takes its time and wants to produce the best results, not just finish faster than others. Seems to me like a compromise between quality and time. That said; I will try my first competition on Saturday. Will let you know my findings. Perhaps I will change my opinion. Continue reading “All Construct – Tabulation”