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


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

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

אין דעם פּראָבלעם, מיר באַקומען אַ שטריקל מיט דידזשאַץ (0-9) און '#'. מיר מוזן קאָנווערט דעם שטריקל צו אַ שטריקל פון ענגליש אותיות מיט קליין פאלגענדע מאַפּינג.

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

בייַשפּיל

s = "10#11#12"
"jkab"

דערקלערונג:

“10 #” -> “j”, “11 #” -> “k”, “1” -> “a”, “2” -> “b”.

s = "1326#"
"acz"

דערקלערונג:

"1" -> "אַ", "3" -> "C", "26 #" -> "ז".

צוגאַנג

מיר קענען זען אַז מיר נאָר האָבן צו זאָרג וועגן '#'. ווען מיר פאָרן די געגעבן שטריקל פון לינקס צו רעכט ניצן טאָמבאַנק (לאָזן איך), פֿאַר יעדער אינדעקס i (0 <= i <= n-3), מיר נאָר האָבן צו קאָנטראָלירן אויב דער כאַראַקטער ווייַטער צו ווייַטער אינדעקס פֿון i דאס הייסט כאַראַקטער אין אינדעקס i + 2 איז '#'.

פֿאַר יעדער i (0 צו n-3), אויב די כאַראַקטער ביי אינדעקס i + 2 איז '#', פאַרבינדן דעם אינדעקס i מיט i + 1 און פאָרעם אַ כאַראַקטער מיט די צוויי דידזשאַץ.
למשל "12 #", אויב מיר פאָרן די שטריקל פון לינקס צו רעכטס, מיר זען אַז ווען i = 0, דער כאַראַקטער ביי אינדעקס i + 2 איז '#'. אַזוי פאַרבינדן דידזשאַץ וואָס זענען פאָרשטעלן אין ינדעקסיז i און i + 1, הייסט פאַרבינדן דידזשאַץ 1 און 2, מאַכן זיי "12". איצט גער 12 צו זיין כאַראַקטער מאַפּינג אָדער "ל" און צולייגן עס אין סטרינגבוילדער sb.
צו קאָנווערט שטריקל “12” צו כאַראַקטער 'ל', מיר האָבן באשאפן אַ גער פונקציע, וואָס נעמט אַ נומער אין שטריקל פֿאָרמאַט און גער עס צו קאָראַספּאַנדינג כאַראַקטער.
און אויב דער כאַראַקטער ביי אינדעקס i + 2 איז ניט '#', מיר זאָל נישט פאַרבינדן די כאַראַקטער אין אינדעקס i מיט כאַראַקטער אין אינדעקס i + 1.

למשל "123", אויב מיר זען פֿון אינדעקס i = 0, אינדעקס i + 2 הייסט דער כאַראַקטער ביי 2 איז נישט '#', אַזוי מיר וועלן נאָר צוגעבן די אותיות קאַנווערזשאַן פון "1" אין אונדזער ענטפער.

פֿאַר כאַראַקטער ביי אינדעקס N-2 און N-1, מיר קענען זאָגן אַז אויב טשאַר ביי N-1 איז שוין '#', מיר וואָלט זיין אויס פון די שלייף נאָך אינדעקס N-3, אַנדערש ביידע אותיות ביי N-2 און n-1 מוזן זיין מאַפּט סעפּעראַטלי.

ימפּלעמענטאַטיאָן

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

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

char convert(string str){
    stringstream ss(str);
    int num;
    ss>>num;
    return num+96;
}

string freqAlphabets(string s) {
        stringstream ss;
        int i=0;
        while(i<s.length()-2){
            char ch;
            if(s[i+2]=='#'){
                ch=(char)convert(s.substr(i, 2) );
                i+=2;
            }else{
                ch=(char)convert(s.substr(i,1));
            }
            i++;
            ss<<ch;
        }
        while(i<s.length()){
            char ch=(char)convert(s.substr(i,1));
            ss<<ch;
            i++;
        }
        
        return ss.str();
    }

int main()
{
    cout << freqAlphabets("1326#") ;
}
acz

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

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

class Rextester
{  
    public static String freqAlphabets(String s) {
        StringBuilder sb=new StringBuilder();
        int i=0;
        while(i<s.length()-2){
            char ch;
            if(s.charAt(i+2)=='#'){
                ch=(char)convert(s.substring(i,i+2));
                i+=2;
            }else{
                ch=(char)convert(s.substring(i,i+1));
            }
            i++;
            sb.append(ch);
        }
        while(i<s.length()){
            char ch=(char)convert(s.substring(i,i+1));
            sb.append(ch);
            i++;
        }
        
        return sb.toString();
    }
    
    
    public static int convert(String str){
        int num=Integer.parseInt(str);
        return num+96;
    }

    public static void main(String args[])
    {
        System.out.println(freqAlphabets("10#11#12"));
    }
}
jkab

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

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

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

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

אָ (n): מיר האָבן געניצט אַ שטריקל בילדער אין פאַל פון Java און סטרינג סטרים אין קפּפּ. אין ערגסט פאַל, די לענג איז די זעלבע ווי די שטריקל לענג. אזוי, די פּלאַץ קאַמפּלעקסיטי איז אָ (n).