የፓሊንደሮሚክ ውጤቶች Leetcode መፍትሄን ያስወግዱ


የችግር ደረጃ ቀላል
ውስጥ በተደጋጋሚ ተጠየቀ አማዞን
ሕብረቁምፊ

ችግሩ የፓልቲሮሚክ ውጤቶችን አስወግድ Leetcode Solution እርስዎ እንደተሰጡ ይገልጻል ክር. ሕብረቁምፊው ሁለት 'ቁምፊዎች' ሀ 'ወይም' ለ 'ብቻ ያካተተ ነው። ሙሉውን ገመድ እንዲሰርዙ ይጠየቃሉ። በአንድ እንቅስቃሴ ውስጥ የፓሊንደሮሚክ ተከታይነትን ብቻ መሰረዝ የሚችሉት ገደብ አለ። ሙሉውን ሕብረቁምፊ ለመደምሰስ የሚያስፈልጉትን አነስተኛ የእርምጃዎች ብዛት ያግኙ። ወደ መፍትሄው ከመዝለሉ በፊት ጥቂት ምሳሌዎችን እንመልከት ፡፡

የፓሊንደሮሚክ ውጤቶች Leetcode መፍትሄን ያስወግዱ

s = "ababa"
1

ማብራሪያ: - ሕብረቁምፊው ፓሊንድሮም ስለሆነ። ሙሉውን ገመድ በአንድ እንቅስቃሴ ውስጥ ማስወገድ እንችላለን ፡፡ ስለዚህ መልሱ እንዲሁ 1 ነው ፡፡

s = "abb"
2

ማብራሪያ-በመጀመሪያው እንቅስቃሴ ውስጥ “ቢቢ” ን እናስወግደዋለን ፡፡ በሁለተኛው እንቅስቃሴ ውስጥ “a” ን እናስወግደዋለን። ስለሆነም ሙሉውን ገመድ ለማጥፋት ቢያንስ 2 እርምጃዎችን እንፈልጋለን ፡፡

የፓልቲሮሚክ ውጤቶች የሌትኮድ መፍትሄን ለማስወገድ የሚደረግ አቀራረብ

ችግሩ የፓልቲሮሚክ ውጤቶችን አስወግድ Leetcode Solution ምልከታ አንድ ነው ፡፡ ሕብረቁምፊው ሁለት ሀረጎችን ብቻ ‹ሀ› እና ‹ለ› ያካተተ መሆኑን እንድንመለከት ይጠይቃል ፡፡ እኛ አንድ ፓሊንደሮም ከተገናኘን በቀላሉ ወደ 1. እንመለሳለን ምክንያቱም አንድ ሙሉ ፓሊንደሮምን ለማጥፋት አንድ እርምጃ ያስፈልጋል። ባዶ ገመድ ካገኘን መመለስ አለብን 0. ግን ከነዚህ ውጭ በአጠቃላይ አንድ ፓልንድሮም ያልሆነ ገመድ ሲኖረን አንድ ነጠላ ጉዳይ ብቻ ነው ፡፡

ግን ሕብረቁምፊው ‘ሀ’ እና ‘ለ’ ብቻ ስላለው። ሁሉንም ቁምፊዎች ለማስወገድ ቢበዛ 2 እርምጃዎችን እንወስዳለን ፡፡ በመጀመርያው እንቅስቃሴ ሁሉንም ‹ሀ› ን ማስወገድ አለብን ፡፡ በሁለተኛው እንቅስቃሴ ውስጥ ሁሉንም 'b' ን እናስወግደዋለን። ስለሆነም የዚህ ገጽ [መልስ በግብዓት ላይ በመመርኮዝ 0 ፣ 1 ወይም 2 ብቻ ሊሆን ይችላል ፡፡

የፓልቲሮሚክ ውጤቶችን Leetcode መፍትሄን ለማስወገድ ኮድ

ሲ ++ ኮድ

#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) ፣ ምክንያቱም እኛ የማይለዋወጥ ቁጥርን እንጠቀማለን።