Skip to main content

EDIT DISTANCE PROBLEM - LEETCODE 72

 

Given two words word1 and word2, find the minimum number of operations required to convert word1 to word2.

You have the following 3 operations permitted on a word:

  1. Insert a character
  2. Delete a character
  3. Replace a character

Example 1:

Input: word1 = "horse", word2 = "ros"
Output: 3
Explanation: 
horse -> rorse (replace 'h' with 'r')
rorse -> rose (remove 'r')
rose -> ros (remove 'e')
Solution:- class Solution {
    public int minDistance(String word1, String word2) {
        
        if(word1.length()==0){
            return word2.length();
        }
         
        if(word2.length()==0){
            return word1.length();
        }
        if(word1.length()==0 && word2.length()==0){
            return 0;
        }
        
        int[][] result=new int[word1.length()+1][word2.length()+1];
        
        for(int i=0;i<=word1.length();i++){
            result[i][0]=i;
        }
            
          for(int j=0;j<=word2.length();j++){
            result[0][j]=j;
        }
        
        for(int i=1;i<=word1.length();i++){
            
           // System.out.println(" row "+i);
            
         for(int j=1;j<=word2.length();j++){
            
                if(word1.charAt(i-1)==word2.charAt(j-1)){
                 //   System.out.println("true");
                    result[i][j]=result[i-1][j-1];
                }
             else{
                 int min=Math.min(result[i-1][j],result[i][j-1]);
                 result[i][j]=Math.min(min,result[i-1][j-1])+1;
                // System.out.println("result[i][j] "+result[i][j]);
             }
        }
            
        }
        
        return result[word1.length()][word2.length()];
        
    }
}



https://leetcode.com/problems/edit-distance/

Comments

.

Popular posts from this blog

Best LeetCode Lists for Interviews

Here is a list of some of the best questions asked in interviews Must do Top interview questions Top 100 liked Must do 75  Must do 60  Must do medium Data structures Tree Graph  Dynamic Programming Company Interviews FaceBook interviews Amazon Interviews Google Interviews Github master List

Basics of System Design

This article is first one from the series of articles dedicated to system design interviews. Here i am going to present the base scenario to consider before starting to solve system design problems. Questions to ask? 1) what is the number of requests a website will recieve in a day/month/second? 2) what is the amount of memory a website will deal in a day/month/second? 3) what is the number of servers that can accomodate these requests? To answer this , first we need to remember the below numbers:- 1 million = 10 lakh = 1000000 = 10^6 1 billion = 1000 million = 10^9 1 KB = 1024 B = 10^3 1 MB= 10^6 = 1024 KB 1 GB= 10^9 = 1024 MB 1 TB = 10^12 = 1024 GB Memory we need to see in Bytes Requests we need to see in numbers example :- suppose a website recieves 100M requests every month then:- requests per day = request per month /24 = 416700 requests requests per second = requests per day / (24*360...