Let's learn about Problem Solving via these 104 free blog posts. They are ordered by HackerNoon reader engagement data. Visit the Learn Repo or LearnRepo.com to find the most read blog posts about any technology.
Problem-solving is the process of identifying a problem, generating potential solutions, evaluating them, and implementing the most effective one. It is a fundamental skill in all aspects of technology and life, driving innovation and efficiency across various domains.
1. Kadane’s Algorithm Explained with Examples
Given an array, the algorithm to find the maximum subarray sum is called Kadane’s Algorithm.
2. How I Solve Problems as a Developer
There is no programmer in the world who knows how to solve every coding problem. That person simply doesn’t exist, because the programming field is so big that to a normal person, it would take two lives to learn all of that, but we only have one life.
3. Manacher’s Algorithm Explained— Longest Palindromic Substring
Manacher’s Algorithm helps us find the longest palindromic substring in the given string. It optimizes over the brute force solution by using some insights into how palindromes work. How? Let’s see!
4. System Thinking 101: A Primer for Generalists
System thinking is a valuable framework for generalists, you need a proper framework for organizing your multiple thoughts, passions, and pursuits.
5. Use This 7-Step McKinsey Framework to Solve Any Problem
Julia MacDonald, a Fractional Growth Executive, breaks down a 7-step framework to solve any problem.
6. Problem-Based Learning: David Merrill's Principles of Instruction
Merrill's First Principles of Instruction are a series of very effective problem-based teaching methodologies. The principles are based on the five core princip
7. When Everyone Corrected the World's Smartest Woman
I find the Monty Hall Problem one of the most fascinating brain teasers, because it seems deceivingly simple. When Marilyn Von Savant, the woman with the highest IQ, answered this brainteaser correctly in 1991, she was inundated with over 10,000 letters from academics and Ph.Ds criticizing her “error”, only to be proven later that she was correct.
8. How to Solve Any Machine Learning Problem [Almost]
TL, DR; When coming across an ML problem, don’t try to be a hero and dive right into solving it. Process and understand the problem, review your dataset, set a realistic goal and then go about actually solving the problem. Chances are that you will end up saving a lot of resources (most importantly time) if you plan your execution properly.
9. Being a Generalist: How to Leverage Your Diverse Skills and Find Your Purpose
What does it mean to be a generalist? If you are one, how can you find purpose and thrive in your life? We'll answer these questions and more in this articl
10. Solving the Edit Distance Problem Using The Dynamic Programming Approach
The first question that arises when solving a problem using dynamic programming(DP) is how to figure out that DP is a way to solve it?
11. How Do You Alternate Positive and Negative in Python?
Have you ever written a program for pairing alternate positive and negative numbers? If not, then you are missing some great opportunities.
12. Is ‘bias for action’ making product managers lazier?
Let me preface this by saying I’m a big believer in the bias for action principle popularised by Amazon. I’ve used it as a guideline whenever I didn’t have enough data to make an informed decision.
13. The Five Step Approach for Tackling Complex Problems
“The definition of genius is taking the complex and making it simple.” - Albert Einstein
14. Programmer’s Pyramid: Take Your Programming To The Next Level
Build a solid foundation of programming knowledge, develop core skills, and obtain an effective learning system with Programmer’s Pyramid.
15. 5 Repeatable Steps I Follow to Solve Almost Any Coding Problem
Every programming problem involves some kind of algorithm. An algorithm, in this sense, is a process or set of steps to accomplish a certain tasks; or simply a step-by-step way to solve a problem. There are about 700 programming languages. (Seriously: Here's a list.) So, what to learn and why to learn it - that's what most people are stuck on. From my perspective, you can (and should) choose learn any language. Learning the basics of one on-demand programming language will do you no harm. But: you must select ONE language that becomes your magic spell, and you should always be ready to create something out of it. Learning varieties of languages and not being able to do anything really well is like a curse.
16. How to Get the GCD Of Two Numbers in C
The greatest common divisor (GCD) is the largest positive integer that is also a common divisor of a given set of positive integers. It is also known as the highest common factor (HCF) or the greatest common factor (GCF).
17. Learn The "Disagree and Commit" Exercise for Better Leadership
What can make us incredibly valuable at work - our willingness to disagree openly and commit to helping others succeed or sticking to our arguments even when others have moved forward and a decision has been made.
18. Why Learning PyTorch Can Make you a Better Engineer
Pytorch is a powerful open-source deep-learning framework that is quickly gaining popularity among researchers and developers
19. Speed Up Your Updates Delivery: This Method Really Works
A development method to bring value quickly while not slowing down the pace of software releases.
20. Why Your Tech Project Can Fail and How to Avoid the Failure
Project Management Institute claims that one out of four organization’s projects failed outright. The numbers are far from being encouraging.
21. Approaching Problems like a Software Engineer
During a recent, mock technical interview, I was given the following problem to solve.
22. A Better Way to Pass Technical Interviews
To LeetCode or not to LeetCode? What if you don't want to practice 100s of coding questions before your next coding interview?
23. Daily Coding Problem: Triangular Numbers and Big Divisors
Finding triangular numbers and their divisors
24. The Hidden Catch With Using Frameworks
Framework's ready-made functionality is great for app building, but often hides drawbacks. Find out why you need to switch to a problem-solving mindset.
25. 3 Sharpest Instruments for Debugging: Using the Old-School Mind Mapping Strategy
I found a bug in one of the open-source GitHub repositories and fixed it using the three sharpest instruments: pen, paper, and brain.
26. My Approach To Not Understanding
When creating any software, it is almost inevitable to spend a big part of your development time researching, and many times this involves looking for syntax you don't remember, or for finding out how other people have approached the same problem you are trying to solve.
27. How to Get Better at Solving Programming Problems
Getting better at problem-solving requires more than just reps. It’s also how you go about it. We discuss How to Get Better at Solving Programming Problems.
28. 7 Most Valuable Soft Skills Of Exceptional Software Engineers
When we think about software engineering, we tend to think about the technical skill set of the professional first. And this makes sense because the skill set defines the quality of work that the software engineer can perform-and make no mistake, quality comes above everything in software development.
29. Read This If You Want to Be an Inventor, Not an Imitator
Stop chasing last season's gold rush. Discover why prerequisites are a myth, why your network is a side effect of your work, and where new worlds are built
30. Contains Duplicate and Missing Number
author: Sergei Golitsyn https://t.me/crack_code_interview
- return true if any value appears at least twice
- number in the range that is missing from arr
31. How To Swap Values In JavaScript
At some point in their career, developers need to swap values. Most of the time we use the one plain old solution of “using a temporary variable”. Ugh, if only there was a better way. But wait! There is, and there’s not just one but many. In desperate times, we scour the web for solutions, find one, and copy it without ever wondering how this little snippet of code works. Lucky for you, now is the time to learn about how to swap values easily and efficiently, putting an end to your misery.
32. TRIZ: The Problem-Solving Methodology for Product Managers
It's important to stay sharp and continuously develop our problem-solving abilities. That's why I made it a habit to practice a logic puzzle every day.
33. House Robber
You need to solve this: given an integer array nums representing the amount of money of each house, return the maximum amount of money you can rob tonight.
34. Helping My Engineering Friend Build a Text Classifier
My engineering friend, let’s address him as Mr. Wolf 🐺 (identify hidden), requested a 1:1 call to help him fix his classification model.
35. Iterative vs Recursive vs Derivative Approaches
In the realm of problem-solving, various techniques and strategies are employed to achieve desired outcomes.
36. Slaying Live Coding Challenges: A Beginner's Guide to Success
Prepare for your live coding session with a systematic approach to problem-solving, one step at a time.
37. Solving the Single Number and Climbing Stairs Coding Challenge
author: Sergei Golitsyn element appears twice except for one. Find that single one. how many distinct ways can you climb to the top?
38. The Isekai Archetypes of Computer Programming
Explore programming roles as isekai archetypes. Discover parallels between developers and fantasy characters in software engineering.
39. Why You Should Forget Everything You Know About Problem Solving
Master problem-solving with a fresh perspective by unleashing First Principle Thinking.
40. I Really Struggled With Math Because My Teachers Were Horrible
I really struggled with Math at a point cause my teachers were horrible.
41. Thinking Like Elon Musk Means Thinking Bigger Than Big: Huge
In simple language, First Principles Thinking involves actively questioning every assumption you believe.
42. Fixing Root Certificate Expiration Errors in cURL
Learn how to mitigate certificate expiration errors in cURL and the Android HTTP client using the AddTrust certificate.
43. Leetcode or Projects — Which One Is Likely to Land You a Tech Job?
If your résumé has no strong projects, you might get rejected. On the flip side, if you haven’t done any interview prep, you might bomb the actual interviews.
44. Daily Coding Problem: Rotating Matrices
In this article we are building an algorithm to rotate a matrix by a certain degree, doing this with in-place and not-in-place algorithms
45. Be Your Own Coach: How to Navigate Through Complex Problems
Most days at work require us to navigate and solve complex problems. These problems often come unannounced and don’t show up with a bang.
46. MO’s Algorithm: Efficient Way to Solve Offline Range Query Problems
MO’s Algorithm aka Square Root Decomposition, a very efficient and easy technique to solve Range Query Problems (RQP). For MO’s Algorithm to work, the RQP has to be offline. In this post, we will understand about RQP, Offline RPQ, Naive Approach to solve RQP and an Efficient Approach using MO’s Algorithm.
What is Range Query Problem?
47. This One Programming Concept Made Me a Better Coder (and Planner)
How functional programming changed the way I write and think about code — with easy Python examples and lessons from real coding struggle.
48. Following George Pólya’s Methods of Problem-solving. How It Might Help You In The Process of Coding.
When my coding instructor started teaching the topic ‘Approaching Solution Of A Problem’ , he introduced George Pólya’s methods of problem-solving to us.
49. How Product Manager Solve Complex Problems
Excellent problem-solving skill is very essential for a Product Manager, because in the real day to day as a Product Manager will face a lot of complex problems that require deeply thinking for finding the root cause of problems, not only user’s problems but also internal problems such as slow development process, increase growth rate, increase retention rate, etc.
50. Incorporating Art into Engineering by Introducing the STEAM Approach
There is a perception that science, technology, and the arts are separate vocations. The STEAM approach incorporates the arts and sciences.
51. Big O Notation: What Is It and Why Is It Important?
Demystify Big O Notation with a relatable guide! Bridge the gap between abstract & concrete thinking in algorithms. Let’s eliminate the confusion!
52. Daily Coding Problem: Pascal’s Triangles and Space Complexity
Build Pascal's triangles with code, with different algorithms, analyze theirs speed and space complexity.
53. Streamlining Workflow with Puppeteer
My journey of streamlining my workflow with Puppeteer.
54. 53% of People Think We Buy New Tech, Not Progress. They're Wrong.
I did a Twitter poll to see what people think is the best approach to developing new products/services. The poll has been featured among people with startup or entrepreneurial interests. After looking at the results, I was surprised.
55. The Developer’s Guide to Being a Better Leader: Solution-ing is Contagious
More often than not, developers and architects spend a large portion of their time in solving problems. The complexity involved in finding a solution varies from problem-to-problem and is directly proportionate to the individual’s or team’s ability in finding the solution. As a lead, architect or a senior architect, we need to instill the culture of solution-ing in our team.
56. An Introduction to Design Thinking
Some of the most common approaches to solve a problem are situational or context-specific. For example, in the field of structural engineering, most of the challenges are solved by applying time tested rules in the field of civil engineering. For a problem that is considered less severe, a common approach is a trial by error. Mission-critical requirements and issues are solved by using a well-defined set of steps and strategies. The first reaction to solve any problem is to compartmentalize the problem into something which was solved earlier. The mind likes the comfort of the known after all. This is our primordial nature. These approaches have served us since time immemorial and will continue to do so. A common thread running through all these problems is they are well known, and they have been faced before plus they are well documented
57. Using Data Science To Deal With RTOs
Considering how much fraudulent RTOs can cost a business, using data science to mitigate their frequency can help save an e-commerce business money over time.
58. 6 Marketing Problems Of 2021 And How To Fix Them
The internet has changed the world. Most would say for the better, especially those of us running an online business. When it comes to business, marketing has never been so easy as it is today - with access to a plethora of digital marketing channels.
59. Is the Pinterest Way to Measure Ads the Right Way?
A cutting-edge data science model can only be created if impact is measured properly. Pinterest upgraded everyone's preferred impact measurement metric, CTR.
60. Three Amigos Teach Us a Lot About Writing Better Agile User Stories
Do you use the “Three Amigos” Agile strategy?
61. This Is Why We Suck at Problem-Solving
Why are so many of us poor at problem solving. Why do we struggle to find root causes? Why after declaring the victory, problem resurfaces?
62. Daily Coding Problem: Computing Big Exponentials
Calculating high exponentials with a simple algorithm
63. Problem Solving Questions During PM Interview
Problem-solving question is the most frequent and recurring question asked PM interview. Here's a way on how shall one approach it.
64. Deep Dive into Functional Programming in Javascript
functional programming emphasizes the use of pure functions, immutability, and advanced techniques like currying, memoization, and monads to create cleaner code
65. Does Software Need to Solve Problems?
“What is the problem your software is solving?”
66. Things You Need To Learn Before You Start Writing Code
I'm sure you all have read a quote like this, "First solve the problem, then write the code". At first I took it lightly. I liked to follow a different approach, "Solving the problem with code". After coding for a long time, I realized the importance of solving the problem first before jumping into writing code. In this article, I will try explain why you should slow down and how to actually save your time. Also, this will make you a better programmer.
67. View Life as a Puzzle to Solve Complex Problems
The Puzzle Method is the methodology that help manage work tasks and life challenges gradually by viewing project as big puzzle and tasks like its small pieces.
68. Flexbox vs CSS Grid is Not A Thing
That’s right. There is NO flexbox vs CSS Grid. It’s just flexbox and CSS grid.
69. How I Over-engineered my Document Storage System With Paperless-ngx
Use paperless-ngx to build out the ultimate document storage system!
70. Bring me Problems Not Solutions: Why Problem-Centric Leadership is Effective
Explore the limitations of the common leadership mantra "Bring me solutions, not problems."
71. Grokking Dynamic Programming (Part 2)
Part 2 on my series about dynamic programming problems and coding techniques to solve them.
72. You Cannot Learn Coding without Problem-Solving Skills
In a sea of options available to learn computer science, Learnly might be the right fit for you.
73. Will Robots Take Your Job: Reality or a Misconception?
There has been a lot of fear regarding human beings being made redundant due to artificial intelligence and automation taking away their jobs. The recruitment industry is one of the many sectors AI has enhanced in recent years. AI and robots are used to optimize the workflow through machine learning and problem-solving. Automation with AI helps to dig the best resource out of many available candidates. The ability of robots and AI to provide efficient outcomes swiftly is the reason for the massive adoption of these technologies. There is no divided opinion about the fact that digital workers known as robots are performing more of the work traditionally done by humans so saying that these AI-based robots are taking away human jobs is nothing more than a dystopian claim.
74. The Problems With Problem Solving: The Three Fallacies
There is a fundamental conflation between what problem-solving means to different people. This can lead to challenges them most effectively.
75. Why Solo Developers Should Never Take the Easy Route
This story is my own take on why working solo shouldn't mean you take the easy route as a developer. Sometimes you've got to force yourself to do things to become better at what you do.
76. Pay Special Attention to Definitions When Solving a Problem
Problem-solving methods span a spectrum from unstructured to highly structured.
77. Automation: Figuring It Out is Just Like Doing a Puzzle
When you're wondering if something can be automated or not, a way of looking at the situation is like a puzzle.
78. The “Brain Hangover” That Ruins Your Afternoon
Naps don’t refresh everyone. For some brains, they trigger fog, irritability, and “brain hangover.” Try the Controlled Downshift Protocol instead.
79. Scrum Teams Thinking Like Millennials is the Way Ahead
By Professional Scrum Trainer, John Gillespie, Scrum.org
80. The Hidden Cost of “Being Thorough”
99% of people believe more thinking equals better outcomes. They’re wrong. Learn how high-quality compression separate human intelligence from animals and AI.
81. How to Solve Engineering Problems Using Scientific Method
On every new software product, feature or project you develop you are bound to come across challenges that don’t have a clear answer at first.
82. Reflecting on My Year of Consistent Leetcode Practice and Mistakes to Avoid
A year of consistent leetcode practice in improving problem solving skills
83. RCA for Tech Managers : How to approach a Product Issue
Root Cause Analysis for Managers
84. Simple Advice on How To Complete That Never Ending Task
Faced with a mind numbing, insurmountable challenge, you stare at your screen, thinking of all the hours that are about to slip by you as you chip away at the never ending task you’ve been set.
85. Why do you need project templates?
With the ubiquitous use of microservices, docker, k8s, and other containerization technologies, I noticed an interesting change. Microservices - although they can be written in different programming languages, use different databases, cache systems, and other backend technologies, they tend to be uniform. This is a very important and correct step since such services are easy to manage, deploy and maintain.
86. Innovative Problem Solving for Developers
Look into innovative problem-solving techniques tailored for developers. From Design Thinking to interdisciplinary learning, discover tools that fuel creativity
87. Become a Problem Solving Machine With 'AI Thinking'—No Neural Implants Necessary!
Here’s a step-by-step guide to start thinking in the "AI way."
88. Creativity and Problem Solving is Required at Every Level
Many times, the best problem solvers in an organization never get a chance to contribute their creativity, so a lot of potential goes undiscovered.
89. The Case Against Upgradeable Smart Contracts
The use cases appropriate for upgradeable smart contracts may be narrower than you think.
90. Working in Agile Environments: The Sprint is Not Just About You
The depths of agile sprints, teamwork, and challenges in software development: the sprint is more than you think.
91. Users Who Hate Change; Not Pivoting Enough; And Other Product Challenges

92. The Biggest Problems Can’t Be Googled
Solving big problems requires new paradigms, not old tools—history shows breakthroughs come from shifting perspectives, not more information.
93. Conquering the Smart Home Beast: A Quest for Better Sleep
My victory over smart devices and insights for tomorrow's tech
94. Unleashing Genius: How Bitget's U30 Hackathon Is Changing the Game in Blockchain and AI
Bitget's U30 Virtual Hackathon is like a grand ball where the world joins hands to find the best talent.
95. A Framework That Will Help You Solve Your Problems The Right Way
Problems are created by how we contextualize them (mindset) and language (how we speak about them). I offer a reframe to change your relationship to problems
