Detailed explanations for fast and clean solutions!

This has been my first online contest in LeetCode — and it was a blast!

We are given coordinates, a string that represents the coordinates of a square of the chessboard, and asked to returntrue if the square is white, and false if the square is black.

In 1989 the Russian Researcher Boris Ryabko has invented the Binary Index Tree Data Structure; Today this invention is utilized by large-scale systems to efficiently and correctly range sum matrices, as well as to challenge candidates in programming interviews. In the following post, I demystify this ingenious invention and interview the inventor about the inspiration for this creative idea.

Even if you feel well prepared for your next interview after solving well over 5o questions on LeetCode on backtracking, dynamic programming, design, and graphs — this question is about to surprise you 😀

This post will add a new solving method for your toolbox, so first we shall start with a 1-dimensional version of the question and then continue with the 2-dimensional method, and finally, the inventor of this ingenious data-structure shares with us the background and motivation for this creative idea.

Our problem is LeetCode #307; given a numbers array we shall support three operations: initialization, updating a…

Concise Glossary for Real-Life Applicable Trees and When to Use Them

Over the years talented computer scientists devised tree data structures that boosted real-life applications. Those ingenious data-structures and their efficient performance allowed simple solutions for complex problems in various domains; from image representation, and multi-dimensional data, through intervals aggregation, to databases and file-systems.

This article is a concise glossary, that you can use to broaden your knowledge and use whenever you stumble upon an applicable problem from these domains. For each of the tree data-structures you will find; how they are applicable, the complexities of the allowed operations, as well as tutorials and links for further information.

This challenge has been introduced by Elbit in 2021 and involved decoding a file with an invented ElbitLang format.

In this post, I share with you the detailed solution.

We are given a decoded file and asked to send back the output as a solution proof.

So let’s open it with a HEX reader to view its content:

Wizard Coder Series, Part 1

Python is an elegant programming language that (usually😉) lets you focus on logic instead of a missed semicolon; From time to time I encounter some useful library that can make your coding even easier, here are the first 5 🙂

1. More Itertools

Everyone who used itertools must have fallen in love with this great library, …but what if I tell you there is more?

More Itertools would make your code even more elegant and clean, here are just a few examples:

## If using map & reduce sperately is exciting, how about combining them to MapReduce;
keyfunc = lambda x: x.upper()
result = map_reduce('abbccc'…

This challenge has been introduced by Elbit in 2020 and involved two riddles, of encrypted messages.

In this post, I share with you their detailed solution.

Level 1

This challenge has been introduced in Israel to recruit to eBay R&D center and required understandings in engineering, coding, some forensics, and other technical know-how — so I found it really interesting and diverse.

It has been around 2 AM that riddle prompt post popped on my Facebook, one day after it has been introduced, I felt that chances are low — as many before me have tried- but I couldn't resist solving it. …

The Exclusive Foobar Popup Invite

It’s 13:37 and you’re coding for fun as you do every day, without any further notice an error occurs (nobody is perfect) — you Google it.

This has been a usual day, but something strange is happening… the results screen starts to slide and a mysterious message appears.

“Curious developers are known to seek interesting problems. Solve one from Google?”

There are two possible future consequences, you may close it and never see it again — but if you do click it, one of the best coding challenges and mind-intriguing journeys will start!


You’re now part of the secret…

Example for large scale-project: the client sends snapshots to the server, which publishes the client’s snapshots to parsers. Parser results are published to savers that take the results and save them to a database.

How can we replace message-queue implementation in large-scale projects with ease?

Message Queues play an important role in large-scale solutions, as the project becomes more and more sophisticated — micro-services are added and we become dependant of the message-queue functionality.

One day we wake up and discover that current message-queue implementation doesn't meet our changing needs, we change it — and we fall into the endless refactor and regression tests loop.

So can we devise a framework that allows us to change the implementation without affecting the whole project?

In this post, I would share with you a framework design that enables just that, as I’ve developed in the final project…

Photo by Viktor Laszlo taken from Pixabay

Converting 4.5 million records into insights and predictions

In this story, I describe the prediction method I've developed during the Big-Data course I took at Tel-Aviv University, as an Economics student.

I’ve received a dataset of 4.5 million Uber rides orders in New-York City, which connects drivers and those who are interested in a ride.
The dataset contained observations from months April-July 2014 and included locations and time of order.
Based on the dataset, I’ve been asked to predict the number of orders in a future month, September 2014, on each 15-minutes interval.

First, I’ll describe the research on the data to find patterns and connections, then based…

Aviv Yaniv

Software Engineer 🖥️ Economist 📈 Beer Brewer 🍻 Photographer 📷 ~ “Curiosity is my drug”

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store