Posts

Showing posts from February, 2018

Dynamic Programming: Basics and a Practical Example

Introduction: Dynamic programming is a problem-solving technique that can seem quite intimidating at first glance. However, once you grasp its fundamentals and see it in action, you'll find it to be a powerful tool in your coding arsenal. In this blog post, we'll demystify the basics of dynamic programming and walk through a practical example. We'll provide you with clear explanations and a complete Python program, so you can understand and apply this essential concept with confidence. Understanding Dynamic Programming: At its core, dynamic programming is all about breaking down a complex problem into smaller, overlapping subproblems. It's a technique used to efficiently solve problems by storing and reusing solutions to these subproblems, rather than recomputing them. This leads to significant improvements in runtime complexity. Example: Fibonacci Sequence with Dynamic Programming Let's start by tackling a classic problem: calculating Fibonacci numbers. The Fibonac...

Week of Code 36 - Hackerrank

Q-1 Acid Naming Question URL :-   https://www.hackerrank.com/contests/w36/challenges/acid-naming Solution:- public class Solution {    public static void main(String[] args) throws Exception{                BufferedReader br = new BufferedReader(new InputStreamReader(System.in));                int n = Integer.parseInt(br.readLine());                for(;n-->0;){            String acid = br.readLine().trim();            acid =acid.toLowerCase();                        if(acid.startsWith("hydro") ...