ထူးခြားတဲ့ဇာတ်ကောင်ကို string ထဲမှာရှာပါ


ခက်ခဲအဆင့် လွယ်ကူသော
မကြာခဏမေးတယ် အမေဇုံ Apple ဘလွန်းဘာ့ဂ် Facebook က Goldman Sachs Google Microsoft က Oracle က Zillow
hash တားဆီးခြင်း ကြိုး

In ထူးခြားတဲ့ဇာတ်ကောင်ကို string ထဲမှာရှာပါ ပြနာ၊ ကြိုး သာစာလုံးအကြီးအက္ခရာ (az) ပါဝင်သည်။ ကျွန်တော်တို့ထပ်ခါတလဲလဲထပ်ခါတလဲလဲလုပ်တဲ့အက္ခရာကိုရှာပြီးအညွှန်းကိုထုတ်ဖို့လိုတယ်။

အဘယ်သူမျှမထိုကဲ့သို့သောဇာတ်ကောင်ပုံနှိပ် -1 တည်ရှိလျှင်။

input ပုံစံ

string တစ်ခုသာတစ်ခုတည်းလိုင်း။

Output အမျိုးအစား

ရလဒ်တစ်ခု integ format နဲ့ပုံနှိပ်ပါ။

ကန့်သတ်ချက်များ

  • 1 <= | s ကို | <= 1000000
  • တစ် ဦး <= s ကို [ဈ] <= z.
Example Input:
fwezfwjmevfukwejbfqegwkf
Example Output:
3

Explanation For Find ၏ထူးခြားသောဇာတ်ကောင်ကိုရှာဖွေရန်

ဇာတ်ကောင်အရေအတွက်ကို array ထဲမှာသိမ်းထားပါ။ ထို့နောက်အစမှအဆုံးအထိ loop ကိုဖွင့ ်၍ 1 ပါသောအက္ခရာဟုတ်မဟုတ်စစ်ဆေးပါ။ ထို့နောက်ကျွန်ုပ်တို့တွင်ထိုအညွှန်းကို print ထုတ်ပြီး loop မှခုန်ပါ။ ဤတွင်အောက်တွင်ဖော်ပြထားသောစာရင်းတစ်ခုချင်းစီ၏ဇာတ်ကောင်များ၏ရေတွက်သည်။

a- 0, b- 1, c- 0, d- 0, e- 4, f- 5, g- 1, h- 0, i- 0, j- 2, k- 2, l- 0, m- 1, n- 0, o- 0, p- 0, q- 1, r- 0, s- 0, 0, u- 1, v- 1, w- 4, x- 0, y- 0, z- ၁ ။

ယခုကျွန်ုပ်တို့သည် string ကိုအစမှဖြတ်သန်းသွားသည်။ နံပါတ် ၁ ပါသောစာလုံးတစ်လုံးရှိမရှိစစ်ဆေးသည်။ ထိုအက္ခရာ၏အညွှန်းကို print ထုတ်ပြီး loop ကိုအဆုံးသတ်သည်။ စာလုံးမတွေ့ပါက -1 ကို print ထုတ်ပါ။ ဒီမှာငါတို့ရတယ် z count က 1 အဖြစ်ဒါကြောင့်ဖြစ်သော z ၏အညွှန်းကိန်း print ထုတ်ပါ 3.

Implementation For Find တွင်ထူးခြားသောဇာတ်ကောင်တစ်ပုဒ်ရှိသည်

/*C++ Implementation of First uique character in a string*/ 
#include<bits/stdc++.h>
using namespace std;
int main() 
{ 
    string s;
    /*take string as input*/
    cin>>s;
    int len=s.length();
    int freq[26];
    /*initalize all with 0*/
    memset(freq,0,sizeof(freq));
    for(int i=0;i<len;i++)
    {
        /*count the characters and store count of a at freq[0], count of b at freq[1], 
          count of c at freq[2],...,count of z at freq[25]*/
        freq[s[i]-'a']++;
    }
    int flag=0;
    for(int i=0;i<len;i++)
    {
        /*check the first character whose count is 1*/
        if(freq[s[i]-'a']==1)
        {
            cout<<i<<endl;
            flag=1;
            /*jump from the loop*/
            goto label;
        }
    }
    label:;
    /*if no character found as count 1 then print -1*/
    if(!flag)
    {
        cout<<-1<<endl;
    }
    return 0; 
}
Example Input 1:
dvcaewliabjvwdbgkinshckgfdbfcvd
Example Output 1:
4
Example Input 2:
aabbccdddeeefffrrrwwwqqqhhhfffihhi
Example Output 2: 
-1

အချိန်ရှုပ်ထွေး

အို (လ) ဘယ်မှာ L ကို string ကို၏အရှည်သည်။

အာကာသရှုပ်ထွေးမှု

အို (၁) ဘာဖြစ်လို့လဲဆိုတော့ကျွန်တော်တို့ဟာ kostant array ကို freq အရွယ်အစား ၂၆ ကိုသာဖန်တီးပြီး၊ ဒီထက်နည်းပြီး space ရှုပ်ထွေးမှုကအမြဲတမ်းဖြစ်တယ်လို့ပြောနိုင်တယ်။

ကိုးကား