Palindromic ضمنی مقامات لیٹ کوڈ حل کو ہٹا دیں


مشکل سطح آرام سے
اکثر پوچھا جاتا ہے ایمیزون
سلک

مسئلہ Palindromic ذیلی تقاضوں کو ختم کریں لیٹ کوڈ حل میں کہا گیا ہے کہ آپ کو a سٹرنگ. تار صرف دو حرفوں 'a' یا 'b' پر مشتمل ہے۔ آپ کو پوری تار مٹانے کی ضرورت ہے۔ اس میں پابندی ہے کہ آپ ایک اقدام میں صرف ایک فالتو عنصر کو حذف کرسکتے ہیں۔ پوری تار کو مٹانے کے ل required مطلوبہ اقدامات کی کم سے کم تعداد معلوم کریں۔ آئیے حل میں کودنے سے پہلے کچھ مثالوں پر ایک نظر ڈالیں۔

Palindromic ضمنی مقامات لیٹ کوڈ حل کو ہٹا دیں

s = "ababa"
1

وضاحت: چونکہ سٹرنگ ایک پالینڈوم ہے۔ ہم ایک ہی اقدام میں پوری تار ہٹا سکتے ہیں۔ اس طرح جواب بھی 1 ہے۔

s = "abb"
2

وضاحت: پہلے اقدام میں ، ہم "بی بی" کو ہٹاتے ہیں۔ دوسری چال میں ، ہم "اے" کو ہٹاتے ہیں۔ اس طرح پوری تار کو مٹانے کیلئے ہمیں کم از کم 2 چالوں کی ضرورت ہے۔

Palindromic ذیلی تقاضوں کو ختم کرنے کے لach نقطہ نظر لیٹ کوڈ حل

مسئلہ Palindromic ضمنی حصوں کو دور کریں لیٹ کوڈ حل ایک مشاہدہ ہے۔ ہمیں یہ مشاہدہ کرنے کی ضرورت ہے کہ تار صرف دو حرف 'a' اور 'b' پر مشتمل ہے۔ اگر ہم کسی پلینڈوم کو دیکھتے ہیں تو ، ہم صرف 1 واپس آجاتے ہیں۔ کیوں کہ اس کے پورے پلینڈوم کو مٹانے کے لئے ایک ہی اقدام کی ضرورت ہوتی ہے۔ اگر ہمیں خالی تار مل جاتا ہے تو ، ہمیں 0 واپس آنا چاہئے۔ لیکن ان کے علاوہ ، صرف ایک ہی معاملہ ہوتا ہے ، جب ہمارے پاس ایک تار ہوتا ہے جو پوری طرح سے پالینڈوم نہیں ہوتا ہے۔

لیکن چونکہ اس تار میں صرف 'a' اور 'b' ہے۔ ہم تمام حروف کو ختم کرنے کے ل at زیادہ سے زیادہ 2 اقدام کریں گے۔ پہلی چال میں ، ہمیں سب کو ختم کرنا چاہئے۔ دوسری چال میں ، ہم تمام 'بی' کو دور کردیتے ہیں۔ اس طرح اس پی [پریشانی کا جواب ان پٹ کے لحاظ سے صرف 0 ، 1 ، یا 2 ہوسکتا ہے۔

Palindromic ضمنی مقامات Leetcode حل کو دور کرنے کا کوڈ

C ++ کوڈ

#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

پیچیدگی کا تجزیہ

وقت کی پیچیدگی

O (N) ، کیوں کہ ہمیں یہ جانچنے کے لئے پوری تار کے ذریعے جانے کی ضرورت ہے کہ یہ پالینڈوم ہے یا نہیں۔

خلائی پیچیدگی

O (1) ، کیونکہ ہم متغیرات کی مستقل تعداد میں استعمال کرتے ہیں۔