તપાસો કે બે શબ્દમાળા એરે સમાન લેટકોડ સોલ્યુશન છે


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

સમસ્યા તપાસો કે બે શબ્દમાળા એરે સમાન છે લેટકોડ સોલ્યુશન અમને બે પ્રદાન કરે છે એરે શબ્દમાળાઓ. પછી અમને કહેવા માટે કહેવામાં આવે છે કે આ બે શબ્દમાળા એરે સમાન છે કે નહીં. અહીં સમકક્ષતા એ હકીકતનો સંદર્ભ આપે છે કે જો એરેમાંના શબ્દમાળાઓ કatenન્કેટેટેડ હોય. પછી કન્ટેન્ટેશન પછી, બંને તાર સમાન અથવા સમાન હશે. તેથી ઉકેલમાં dંડે ડાઇવ કરતા પહેલાં, ચાલો આપણે થોડા ઉદાહરણો પર એક નજર નાખો.

ઉદાહરણો

word1[] = {"ab", "c"}
word2[] = {"a", "bc"}
true

સમજૂતી: જો આપણે બધા શબ્દમાળાઓ એકઠાં કરીએ તો બંને એરે "એબીસી" બનાવે છે. તેથી, તેઓ સમાન છે.

તપાસો કે બે શબ્દમાળા એરે સમાન લેટકોડ સોલ્યુશન છે

બે શબ્દમાળા એરે સમાન લેટકોડ સોલ્યુશન છે કે કેમ તે માટે તપાસ માટે અભિગમ

સમસ્યા અમને શબ્દમાળાઓ બે એરે આપ્યો. બીજા કરતા બીજામાંના એકમાં વધુ તાર હોઈ શકે છે. પરંતુ જ્યારે ઘટ્ટ થાય છે, ત્યારે પરિણામી બંને તાર સમાન હોય છે. જો તે સમાન બનશે તો આપણે સાચું પાછા ફરો અન્યથા ખોટા પાછા ફરો.
હવે, સરળ અને અમલ કરવા માટે સરળ ઉકેલમાં દરેક એરેની બધી શબ્દમાળાઓ પર સરળતાથી પસાર થવું છે. ટ્રversવર્સ કરતી વખતે, અમે શબ્દમાળાઓ જોડીએ છીએ અને બે પરિણામી શબ્દમાળાઓ બનાવીએ છીએ. તેથી, આ કatenન્ટેટેશન operationપરેશન પછી, અમે તપાસો કે શબ્દમાળાઓ સમાન છે કે નહીં. પરંતુ આ ઓપરેશન માટે અમને શબ્દમાળાઓ બનાવવાની જરૂર છે. આમ પ્રક્રિયાને વધારાની જગ્યાની જરૂર છે. પરંતુ અમે એવી જગ્યામાં સમસ્યા હલ કરી શકીએ છીએ જે વધારાની જગ્યાનો ઉપયોગ કર્યા વિના હોય.
આપણે ચાર વેરીએબલો વાપરીશું, દરેક એરે માટે બે. આ ચલો એરેમાં સૂચકાંકો તરીકે કામ કરશે અને પછી શબ્દમાળા માટે સૂચકાંકો. આ રીતે તે બે જણાવે છે કે તેઓ પહેલા એરેમાં i1 મી શબ્દમાળાના j1th પાત્ર પર છે. તેવી જ રીતે, i2th શબ્દમાળાના j2th પાત્રને i2 અને j2 દ્વારા રજૂ કરવામાં આવે છે. હવે જે બાકી છે તે અમલીકરણ છે.
અમે થોડા સમયની લૂપનો ઉપયોગ કરીએ છીએ જેમાં આપણે કેટલીક શરતો તપાસીએ છીએ. જો બંને એરેમાંનું વર્તમાન પાત્ર મેળ ખાતું નથી, તો આપણે ખોટા વળગીશું. નહિંતર આપણે તપાસો કે આપણે શબ્દમાળાના છેલ્લા પાત્ર પર છીએ કે નહીં. જો આવું થાય છે, તો આપણે શબ્દમાળા (i) માટે વપરાયેલ અનુક્રમણિકામાં વધારો કરીએ છીએ અને અક્ષર અનુક્રમણિકા (j) ને 0 થી સુયોજિત કરીએ છીએ. અંતે, જો બંને એરે એકસાથે ખાલી થઈ ગયા છે, તો પછી આપણે સાચા વળગીશું, નહીં તો ખોટું.

કોડ

સી ++ કોડ ચેક માટે જો બે શબ્દમાળા એરે સમાન લેટકોડ સોલ્યુશન છે

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

bool arrayStringsAreEqual(vector<string>& word1, vector<string>& word2) {
    int i1 = 0, j1 = 0, i2 = 0, j2 = 0;
    while(true){
        if(word1[i1][j1] != word2[i2][j2]) return false;
        if(j1 == word1[i1].size()-1)i1++, j1 = 0;
        else j1++;
        if(j2 == word2[i2].size()-1)i2++, j2 = 0;
        else j2++;
        if(i1 == word1.size() && i2 == word2.size())
            return true;
        else if(i1 == word1.size() || i2 == word2.size())
            return false;
    }
}

int main() {
  vector<string> word1 = {"ab", "c"};
  vector<string> word2 = {"a", "bc"};
  cout<<(arrayStringsAreEqual(word1, word2) ? "true" : "false");
  return 0;
}
true

બે સ્ટ્રિંગ એરે બરાબર લેટકોડ સોલ્યુશન છે તે તપાસવા માટે જાવા કોડ

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

class Main
{
  public static boolean arrayStringsAreEqual(String[] word1, String[] word2) {
        int i1 = 0, j1 = 0, i2 = 0, j2 = 0;
        while(true){
            if(word1[i1].charAt(j1) != word2[i2].charAt(j2)) return false;
            if(j1 == word1[i1].length()-1){i1++; j1 = 0;}
            else j1++;
            if(j2 == word2[i2].length()-1){i2++; j2 = 0;}
            else j2++;
            if(i1 == word1.length && i2 == word2.length)
                return true;
            else if(i1 == word1.length || i2 == word2.length)
                return false;
        }
    }

  public static void main (String[] args) throws java.lang.Exception
  {
    String[] word1 = {"ab", "c"};
    String[] word2 = {"a", "bc"};
    System.out.print((arrayStringsAreEqual(word1, word2) ? "true" : "false"));
    return 0;
  }
}
true

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

સમય જટિલતા

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

અવકાશ જટિલતા

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