DEV Community

Discussion on: Daily Challenge #12 - Next Larger Number

Collapse
 
coreyja profile image
Corey Alexander

I notice a lot of people did theirs differently so I thought I'd explain what I did!

One of the things I noticed that led to my solution, was the fast that the next largest number, was 1 'sort' away from the number we had. What I mean is if we imagine our number as an array of its digits, the number we wanted was 1 swap away AND would make our 'array' more sorted than it was before!

This made me realize that a modified bubble sort was exactly what I was looking for! So below I conconted something loosely based on a bubble sort. It starts at the end of the number and moves backward seeing if it can make a swap. If it does, it returns the swapped value. If we make it to the beggining of the list we know there wasn't a larger number and simply return None!

Collapse
 
oscherler profile image
Olivier “Ölbaum” Scherler

I wanted to do it like this (in Erlang), but didn’t figure out how to. Nice.

Thread Thread
 
oscherler profile image
Olivier “Ölbaum” Scherler

I think you have a mistake: next_largest(351) should return 513, and you return 531.

That’s where I gave up with the swapping approach.