પેલિન્ડ્રોમિક પેટા અનુકરણો લીટકોડ સોલ્યુશનને દૂર કરો


મુશ્કેલી સ્તર સરળ
વારંવાર પૂછવામાં આવે છે એમેઝોન
શબ્દમાળા

સમસ્યાને દૂર કરો પાલિન્ડ્રોમિક પેટા અનુકરણોને લીટકોડ સોલ્યુશન જણાવે છે કે તમને એ શબ્દમાળા. શબ્દમાળામાં ફક્ત બે અક્ષરો 'એ' અથવા 'બી' હોય છે. તમારે સંપૂર્ણ શબ્દમાળા કા eraી નાખવાની જરૂર છે. ત્યાં પ્રતિબંધ છે કે તમે એક ચાલમાં પેલિન્ડ્રોમિક સબક્વોન્સને ફક્ત કા deleteી શકો છો. સંપૂર્ણ શબ્દમાળા કા eraવા માટે જરૂરી ઓછામાં ઓછા પગલાઓની સંખ્યા શોધો. ચાલો ઉકેલમાં કૂદતા પહેલા કેટલાક ઉદાહરણો પર એક નજર કરીએ.

પેલિન્ડ્રોમિક પેટા અનુકરણો લીટકોડ સોલ્યુશનને દૂર કરો

s = "ababa"
1

સમજૂતી: શબ્દમાળા પેલિંડ્રોમ હોવાથી. આપણે એક જ ચાલમાં આખી શબ્દમાળા કા canી શકીએ છીએ. આમ જવાબ પણ 1 છે.

s = "abb"
2

સમજૂતી: પ્રથમ ચાલમાં, આપણે "બીબી" ને દૂર કરીએ છીએ. બીજા ચાલમાં, આપણે "એ" ને દૂર કરીએ છીએ. આમ, આખા શબ્દમાળાને ભૂંસી નાખવા માટે અમને ઓછામાં ઓછા 2 ચાલની જરૂર છે.

પેલિન્ડ્રોમિક સબસિક્વેન્સને દૂર કરવા માટેનો અભિગમ લીટકોડ સોલ્યુશન

સમસ્યાને દૂર કરો પેલિન્ડ્રોમિક પેટા અનુકરણોને લીટકોડ સોલ્યુશન એ એક નિરીક્ષણ છે. તે આપણને અવલોકન કરે છે કે શબ્દમાળા ફક્ત બે અક્ષરો 'એ' અને 'બી' સમાવે છે. જો આપણે પેલિંડ્રોમ પર આવીએ છીએ, તો અમે ફક્ત 1 પાછા વળીએ છીએ કારણ કે આખા પેલિંડ્રોમને ભૂંસી નાખવા માટે તેને એક જ ચાલની જરૂર પડે છે. જો આપણને ખાલી શબ્દમાળા મળે, તો આપણે 0 પરત ફરવું જોઈએ. પરંતુ આ સિવાય, ફક્ત એક જ કેસ છે, જ્યારે આપણી પાસે એક શબ્દમાળા હોય છે જે સંપૂર્ણ પેલિન્ડ્રોમ નથી.

પરંતુ શબ્દમાળા પાસે ફક્ત 'એ' અને 'બી' છે. બધા અક્ષરોને દૂર કરવા માટે અમે વધુમાં વધુ 2 ચાલ લઈશું. પ્રથમ ચાલમાં, આપણે બધા 'એ' દૂર કરવા જોઈએ. બીજા ચાલમાં, આપણે બધા 'બી' ને દૂર કરીએ છીએ. આમ આ p નો જવાબ [સમસ્યા ફક્ત 0, 1 અથવા 2 ઇનપુટના આધારે હોઈ શકે છે.

પેલિન્ડ્રોમિક પેટા અનુક્રમો દૂર કરવા માટેનો કોડ લેટકોડ સોલ્યુશન

સી ++ કોડ

#include <bits/stdc++.h>
using namespace std;

int removePalindromeSub(string s) {
    if(s.size() == 0)
        return 0;

    // check if palindrome
    bool isPalin = true;
    for(int i=0;i<s.length()/2;i++)
        if(s[i] != s[s.length()-1-i])
            isPalin = false;

    if(isPalin == true)
        return 1;
    else
        return 2;
}

int main(){
    cout<<removePalindromeSub("abb");
}
2

જાવા કોડ

import java.util.*;
import java.lang.*;
import java.io.*;

class Main
{
  public static int removePalindromeSub(String s) {
        if(s.isEmpty())
            return 0;
        
        // check if palindrome
        boolean isPalin = true;
        for(int i=0;i<s.length()/2;i++)
            if(s.charAt(i) != s.charAt(s.length()-1-i))
                isPalin = false;
        
        if(isPalin == true)
            return 1;
        else
            return 2;
    }
    
  public static void main (String[] args) throws java.lang.Exception
  {
    System.out.print(removePalindromeSub("abb"));
  }
}
2

જટિલતા વિશ્લેષણ

સમય જટિલતા

ઓ (એન), કેમ કે આપણે પેલીંડ્રોમ છે કે નહીં તે તપાસવા માટે આખા શબ્દમાળાઓમાંથી પસાર થવું જરૂરી છે.

અવકાશ જટિલતા

ઓ (1), કારણ કે આપણે સતત સંખ્યાબંધ ચલોનો ઉપયોગ કરીએ છીએ.