קוק אויב אַ וואָרט איז אַ פּרעפיקס פון אַ וואָרט אין אַ זאַץ לעעטקאָדע סאַלושאַן


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

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

קוק אויב אַ וואָרט איז אַ פּרעפיקס פון אַ וואָרט אין אַ זאַץ לעעטקאָדע סאַלושאַן

sentence = "i love eating burger", searchWord = "burg"
4

דערקלערונג: די שטריקל "בורג" יגזיסץ ווי אַ פּרעפיקס אין דעם וואָרט "בערגער" אין דעם זאַץ. זינט עס איז בלויז איין וואָרט וואָס האט די זוכן וואָרט ווי אַ פּרעפיקס. מיר צוריקקומען בלויז די אינדעקס.

צוגאַנג צו קאָנטראָלירן אויב אַ וואָרט אַקערז ווי אַ פּרעפיקס פון קיין וואָרט אין אַ זאַץ לעעטקאָדע לייזונג

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

די אנדערע אופֿן צו סאָלווע די פּראָבלעם איז צו לייגן אַ פּלאַץ צו די זאַץ אין די אָנהייב. דערנאָך, נוצן די find () פונקציע אָדער נוצן די KMP אַלגערידאַם צו געפֿינען אויב עס איז קיין וואָרט וואָס אונדזער זוכן וואָרט איז אַ פּרעפיקס.

קאָד צו קאָנטראָלירן אויב אַ וואָרט איז אַ פּרעפיקס פון קיין וואָרט אין אַ זאַץ לעעטקאָדע לייזונג

C ++ קאָד

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

int isPrefixOfWord(string sentence, string searchWord) {
    string newSentence = " " + sentence, word = " " + searchWord;
    auto pos = newSentence.find(word);
    if (pos != string::npos)
        return count(begin(newSentence), begin(newSentence) + pos + 1, ' ');
    return -1;
}

int main(){
    string sentence = "i love eating burger";
    string searchWord = "burg";
    cout<<isPrefixOfWord(sentence, searchWord);
}
4

Java קאָד

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

class Rough {
    public static int isPrefixOfWord(String sentence, String searchWord) {
        String[] words = sentence.split(" ");
        for (int i = 1; i <= words.length; ++i) {
            if (words[i - 1].startsWith(searchWord)) {
                return i;
            }
        }
        return -1;
    }

    public static void main(String[] args) throws IOException {
        String sentence = "i love eating burger";
        String searchWord = "burg";

        System.out.print(isPrefixOfWord(sentence, searchWord));
    }
}
4

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

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

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

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

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