1704. Determine if String Halves Are Alike

မှတ်ချက် – ဒီ Post သည် Algorithm Interview Preparation အပိုင်းဆက်ဖြစ်သည်။

ကျနော်တို့ဒီနေ့ရှင်းမယ့် ပြဿနာက 1704. Determine if String Halves Are Alike ဆိုတဲ့ leetcode question ဘဲဖြစ်ပါတယ်။

You are given a string s of even length. Split this string into two halves of equal lengths, and let a be the first half and b be the second half.

Two strings are alike if they have the same number of vowels ('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'). Notice that s contains uppercase and lowercase letters.

Return true if a and b are alike. Otherwise, return false.

 

Example 1:

Input: s = "book"
Output: true
Explanation: a = "bo" and b = "ok". a has 1 vowel and b has 1 vowel. Therefore, they are alike.
Example 2:

Input: s = "textbook"
Output: false
Explanation: a = "text" and b = "book". a has 1 vowel whereas b has 2. Therefore, they are not alike.
Notice that the vowel o is counted twice.
 

Constraints:

2 <= s.length <= 1000
s.length is even.
s consists of uppercase and lowercase letters.

မေးခွန်းကရှင်းပါတယ်။ string တခုပေးထားမယ်။ အဲ့ string ကိုတဝက်ဝက်ပီးတော့ ဘယ်ညာ ၂ ဖတ်လုံးမှာ vowels ပါတာညီရင် true ပြန်ပေးမဟုတ်ဘူးဆိုရင် false ပြန်ပေးရမှာ။ vowels တွေက lowercase လဲဖြစ်နိုင်သလို uppercase လဲဖြစ်နိုင်တယ်။ constraints တွေက ပေးထားတဲ့ string length က 2 ထက်ကြီးမယ် 1000 နှင့်အောက်ဖြစ်မယ်။ string ရဲ့length က even ဖြစ်မယ်။

ကျနော်က အောက်ဖော်ပြပါအတိုင်းရှင်းလိုက်ပါတယ်။

/**
 * @param {string} s
 * @return {boolean}
 */
var halvesAreAlike = function(s) {
    let leftVowelsCount = 0, rightVowelsCount  = 0;
    const vowels = "aeiouAEIOU"
    const middle = s.length / 2

    for(let i=0; i < s.length; i++) {
        if(vowels.includes(s[i])) {
            i < middle ? leftVowelsCount++ : rightVowelsCount++;
        }
    }

    return leftVowelsCount == rightVowelsCount
};

ဘယ်ဘက်နှင့်ညာဘက်ဆိုပီး variable သတ်မှတ်လိုက်တယ်။ s length ကိုမစစ်တော့ဘူးဘာလို့လဲဆိုတော့ constraints ပေးထားတာကဂရုစိုက်စရာမလိုဘူးဆိုလို့ပါ။ နောက် middle ကိုလဲ floor လုပ်မထားဘူး သူ့ constraint ကြောင့်မလို့။

Leave a Reply

Up Next:

1026. Maximum Difference Between Node and Ancestor

1026. Maximum Difference Between Node and Ancestor