שפּאַלטן אַ שטריקל אין באַלאַנסט סטרינגס Leetcode סאַלושאַן


שוועריקייט לעוועל גרינג
אָפט געבעטן אין בלומבערג וואַלמאַרט לאַבס
זשעדנע שטריקל

פּראָבלעם סטאַטעמענט

אין דעם פּראָבלעם, מיר באַקומען אַ שטריקל פון אותיות מיט בלויז 'ר' און 'ל'. מיר רופן אַ שטריקל באַלאַנסט אויב עס האט די זעלבע נומער פון 'ר' און 'ל'. מיר קענען שפּאַלטן די געגעבן שטריקל אין סאַבסטאַנשאַנז. דער ציל איז צו געפֿינען די מאַקסימום מעגלעך נומער פון באַלאַנסט שפּאַלטן סטרינגס.

נאטיץ:

  • די געגעבן שטריקל איז באַלאַנסט.
  • די לענג פון די שטריקל ליגט אין די קייט: [1, 1000]
  • בלויז 'ל' און 'ר' זענען פאָרשטעלן אין די ינפּוט

בייַשפּיל

s = "RLRRLLRLRL"
4
s = "RLLLLRRRLR"
3

דערקלערונג:

שפּאַלטן אַ שטריקל אין באַלאַנסט סטרינגס Leetcode סאַלושאַן

 

צוגאַנג (זשעדנע)

דעריבער, מיר האָבן לפּחות 1 מעגלעך באַלאַנסט שפּאַלטן. איצט מיר דאַרפֿן צו מאַקסאַמייז די נומער פון ספּליץ צו באַקומען מאַקסימום נומער פון פּאַרטישאַנז. ינטויטיוועלי, מיר קענען סאָלווע עס גרידאַלי. מיר וועלן דורכגיין די שטריקל, און ביי יעדער פונט ווו מיר האָבן באקומען אַן גלייַך נומער פון 'ל' און 'ר', מיר ינקראַמענט די נומער פון מעגלעך סעקשאַנז. אויף דעם וועג, מיר וועלן באַטראַכטן יעדער לייזונג פֿאַר אַ באַלאַנסט שפּאַלטן שטריקל.

ימפּלעמענטאַטיאָן פון שפּאַלטן אַ שטריקל אין באַלאַנסט סטרינגס Leetcode סאַלושאַן

C ++ פּראָגראַם

#include <bits/stdc++.h>

using namespace std;

int balancedStringSplit(string s) {
    int balance = 0 , splits = 0;
    for(char &c : s) {
        balance += (c == 'L' ? -1 : 1);
        if(balance == 0)
            splits++;
    }
    return splits;
}

int main() {
    string s = "RLRRLLRLRL";
    cout << balancedStringSplit(s) << endl;
    return 0;
}

Java פּראָגראַם

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

class balanced_splits {
    public static int balancedStringSplit(String s) {
        int balance = 0 , splits = 0;
        for(int i = 0 ; i < s.length() ; i++) {
            char c = s.charAt(i);
            balance += (c == 'L' ? -1 : 1);
            if(balance == 0)
                splits++;
        }
        return splits;
    }

    public static void main(String args[]) {
        String s = "RLRRLLRLRL";
        System.out.println(balancedStringSplit(s));
    }
}
4

קאַמפּלעקסיטי אַנאַליסיס פון שפּאַלטן אַ שטריקל אין באַלאַנסט סטרינגס לעעטקאָדע סאַלושאַן

צייט קאַמפּלעקסיטי

אָ (ען), ען = לענג פון די שטריקל. די צייט קאַמפּלעקסיטי איז לינעאַר ווייַל מיר דורכפאָר די גאנצע שטריקל אַמאָל.

ספעיס קאַמפּלעקסיטי 

אָ (1), ווייַל מיר נאָר נוצן קעסיידערדיק זיקאָרן פּלאַץ.