[leetcode]問題解答と解説。242. Valid Anagram [JavaScript]
皆さんleetCode好きですよね。私も好きです。
なかなかやる機会がないのですよね。
leetCodeの使い方や解説ではなく実際に問題を解決するために何をしたか
をメモ書きして行きます
私はある決意をして今挑んでいます。
モチベーションを保つためだけにこれをやっています。
では今日のleetCode。
【242. Valid Anagram】の解決策と方法。自分がまず挑戦して
やったことをさらけ出します。
※下にある自分のコードは自分で設けた制限時間内に書けたところまです。
これは
「私は年末までこれを続けたらどんなleetCoderになるか」のシリーズ。
実験的ブログ更新です。
[leetcode] 242. Valid Anagram ルール
Given two strings s and t, return true if t is an anagram of s, and false otherwise.
An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters exactly once.
Example 1:
Input: s = "anagram", t = "nagaram"
Output: true
Example 2:
Input: s = "rat", t = "car"
Output: false
exampleは実際の問題ページを見てください
[leetcode] 242. Valid Anagram 問題ページ
[leetcode] 242. Valid Anagram
my code is not good
function isAnagram(s, t) {
if(s.length !== t.length){
return false
}
const ss = s.toLowerCase()
const tt = t.toLowerCase()
let count = 0, si = 0, ti = 0;
while(si != s.length && ti != t.length){
if(s[si] !== t[ti]) count++
si++
ti++
}
if(count === 2) return true
return false
};
isAnagram("anagram", "nagaram")
// isAnagram("rat", "car")
問題の解釈を間違えていて撃沈しました
[leetcode] 242. Valid Anagram。discussの中の一つの解答例
数ある中からJavaScriptのもので、理解しやすい解説をピックアップしました。
discussから見ればさらにもっと違う方法で真似したくなるものがあるかもしれないですね
JavaScriptでfilterされている、discussはこちらから
if(s.length !== t.length) return false
let map = {}
for (let ss of s){
map[ss] = (map[ss] || 0) + 1
}
for(let tt of t){
if(!map[tt]) return false
map[tt]--
}
return true
[leetcode] 242. Valid Anagramをやってみて感想
書き方として
(map[ss] || 0) + 1
のところ