<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>algorithm design on Sadman Kabir Soumik</title>
    <link>https://blog.sksoumik.com/categories/algorithm-design/</link>
    <description>Recent content in algorithm design on Sadman Kabir Soumik</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>Copyright © 2022, Sadman Kabir Soumik</copyright>
    <lastBuildDate>Sun, 26 Feb 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.sksoumik.com/categories/algorithm-design/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Brute-Force to Optimized Python Solutions for All LeetCode Blind-75 Problems</title>
      <link>https://blog.sksoumik.com/software-engineering/optimized-python-solutions-blind-75-leetcode/</link>
      <pubDate>Sun, 26 Feb 2023 00:00:00 +0000</pubDate>
      
      <guid>https://blog.sksoumik.com/software-engineering/optimized-python-solutions-blind-75-leetcode/</guid>
      <description>
        
          
            Blind-75 is a curated list of 75 LeetCode problems compiled by Yangshun Tay. The list can be accessed at this link.
Initially, I solved each problem using a brute-force approach, which often resulted in a Time Limit Exceeded (TLE) error. Then, I solved each problem with an optimized method that was accepted on LeetCode. For every problem on the list, I have provided both the naive brute force solution and an optimized solution.
          
          
        
      </description>
    </item>
    
    <item>
      <title>From RNN to Transformers (Without Math Jargon)</title>
      <link>https://blog.sksoumik.com/artificial-intelligence/from-rnn-to-transformers-without-math/</link>
      <pubDate>Mon, 30 Jan 2023 00:00:00 +0000</pubDate>
      
      <guid>https://blog.sksoumik.com/artificial-intelligence/from-rnn-to-transformers-without-math/</guid>
      <description>
        
          
            Transformer-based models are a types of neural network architecture that uses self-attention mechanisms to process input data. They were introduced in the paper &amp;quot;Attention Is All You Need&amp;quot; by Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin in 2017, and have since become a popular choice for many natural language processing task.
Prerequisite: Before going further, I assume that you have a basic understanding of how neural networks work.
          
          
        
      </description>
    </item>
    
    <item>
      <title>Cracking the LeetCode Two Sum Variations - All 5 Problems</title>
      <link>https://blog.sksoumik.com/software-engineering/all-leetcode-two-sum-problem-variations-with-python-solutions/</link>
      <pubDate>Fri, 21 Oct 2022 00:00:00 +0000</pubDate>
      
      <guid>https://blog.sksoumik.com/software-engineering/all-leetcode-two-sum-problem-variations-with-python-solutions/</guid>
      <description>
        
          
            Author: Sadman Kabir Soumik
Original Two Sum Problem Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input would have exactly one solution, and you may not use the same element twice. You can return the answer in any order.
1Example 1: 2Input: nums = [2,7,11,15], target = 9 3Output: [0,1] 4Explanation: Because nums[0] + nums[1] == 9, we return [0, 1].
          
          
        
      </description>
    </item>
    
    <item>
      <title>All 6 Best Time to Buy and Sell Stock Problems Using The Same Formula</title>
      <link>https://blog.sksoumik.com/software-engineering/best_time_to_buy_all_sell_stocks_all_problems/</link>
      <pubDate>Wed, 15 Jun 2022 00:00:00 +0000</pubDate>
      
      <guid>https://blog.sksoumik.com/software-engineering/best_time_to_buy_all_sell_stocks_all_problems/</guid>
      <description>
        
          
            122.Best Time to Buy and Sell Stock II You are given an integer array prices where prices[i] is the price of a given stock on the ith day.
On each day, you may decide to buy and/or sell the stock. You can only hold at most one share of the stock at any time. However, you can buy it then immediately sell it on the same day.
Find and return the maximum profit you can achieve.
          
          
        
      </description>
    </item>
    
    <item>
      <title>Lambda, Map, Filter, and Reduce in Python</title>
      <link>https://blog.sksoumik.com/software-engineering/lambda-map-filter-reduce-python/</link>
      <pubDate>Fri, 11 Dec 2020 00:00:00 +0000</pubDate>
      
      <guid>https://blog.sksoumik.com/software-engineering/lambda-map-filter-reduce-python/</guid>
      <description>
        
          
            Lambda The Lambda function, also known as an anonymous or inline function, is a way to create a function without giving it a name. This can be useful when you need to define a function that will only be used once, or when you want to pass a function as an argument to another function.
Here is an example of using a Lambda function in Python:
1# Define a Lambda function that takes two arguments and returns their sum 2sum_func = lambda x, y: x + y 3 4# Call the Lambda function 5result = sum_func(1, 2) # Returns 3 Map The Map function in Python applies a function to each element in a sequence of data.
          
          
        
      </description>
    </item>
    
    <item>
      <title>Unleashing the Power of Bit Manipulation in Computer Science</title>
      <link>https://blog.sksoumik.com/software-engineering/bit_manupulation_in_python/</link>
      <pubDate>Fri, 12 Jun 2020 00:00:00 +0000</pubDate>
      
      <guid>https://blog.sksoumik.com/software-engineering/bit_manupulation_in_python/</guid>
      <description>
        
          
            Bit Manipulation Bit manipulation is a technique used in computer science to manipulate data at the level of its binary representation. This can be useful for a variety of tasks, such as low-level optimization, data compression, and cryptography.
At its core, bit manipulation involves working with individual bits, rather than larger units of data such as bytes or words. This is typically done using bitwise operators, which perform operations on the individual bits of a number.
          
          
        
      </description>
    </item>
    
    <item>
      <title>Dynamic Programming - Step by Step Guide with Examples</title>
      <link>https://blog.sksoumik.com/software-engineering/dynamic-programming-step-by-step-explanation/</link>
      <pubDate>Mon, 23 Dec 2019 00:00:00 +0000</pubDate>
      
      <guid>https://blog.sksoumik.com/software-engineering/dynamic-programming-step-by-step-explanation/</guid>
      <description>
        
          
            Dynamic programming is a method for solving complex problems by breaking them down into smaller subproblems. It is a mathematical optimization technique that is mainly used for solving problems that exhibit the properties of overlapping subproblems and optimal substructure.
The basic idea behind dynamic programming is to solve a complex problem by breaking it down into smaller subproblems, solving each of those subproblems just once, and storing their solutions. The solutions to the subproblems are then used to solve the original problem.
          
          
        
      </description>
    </item>
    
    <item>
      <title>Understanding Logarithm Function</title>
      <link>https://blog.sksoumik.com/software-engineering/understanding-logarithm-function-computer-science/</link>
      <pubDate>Tue, 06 Aug 2019 00:00:00 +0000</pubDate>
      
      <guid>https://blog.sksoumik.com/software-engineering/understanding-logarithm-function-computer-science/</guid>
      <description>
        
          
            Logarithms are mathematical operations that are the inverse of exponentiation. In other words, if we have a base b and an exponent x, the logarithm of the resulting number y to the base b is x. This can be written as log_b(y) = x.
For example, the logarithm of 1000 to base 10 is 3, because 10^3 = 1000. Similarly, the logarithm of 100 to base 10 is 2, because 10^2 = 100.
          
          
        
      </description>
    </item>
    
    <item>
      <title>Understanding Graph Traversal - BFS vs DFS</title>
      <link>https://blog.sksoumik.com/software-engineering/understanding-graph-traversal-bfs-dfs/</link>
      <pubDate>Tue, 12 Mar 2019 00:00:00 +0000</pubDate>
      
      <guid>https://blog.sksoumik.com/software-engineering/understanding-graph-traversal-bfs-dfs/</guid>
      <description>
        
          
            Breadth-first search (BFS) and depth-first search (DFS) are two algorithms for traversing graphs. These algorithms are used to search for specific nodes or to find the shortest path between two nodes in a graph.
BFS The breadth-first search (BFS) algorithm is a graph traversal algorithm that explores all of the neighbors of a starting node before moving on to any of the neighbor&#39;s neighbors. It is called a &amp;quot;breadth-first&amp;quot; algorithm because it explores the neighbors at each level of the graph before moving on to the next level.
          
          
        
      </description>
    </item>
    
    <item>
      <title>Basic Coding Problems You Must Be Able to Solve As a Computer Science Graduate</title>
      <link>https://blog.sksoumik.com/software-engineering/basic_coding_problems_that_you_must_know_as_a_cse_graduate/</link>
      <pubDate>Fri, 22 Feb 2019 00:00:00 +0000</pubDate>
      
      <guid>https://blog.sksoumik.com/software-engineering/basic_coding_problems_that_you_must_know_as_a_cse_graduate/</guid>
      <description>
        
          
            Check Prime Number A prime number is a positive integer greater than 1 that has no positive integer divisors other than 1 and itself. For example, the first six prime numbers are 2, 3, 5, 7, 11, and 13.
The number 6 is not a prime number because it has more than two positive integer divisors. In fact, the divisors of 6 are 1, 2, 3, and 6.
To determine if a number is prime, you can check if it has any positive integer divisors other than 1 and itself.
          
          
        
      </description>
    </item>
    
  </channel>
</rss>
