LeetCode Entry
2942. Find Words Containing Character
Indices with x
2942. Find Words Containing Character easy
blog post
substack
youtube

Join me on Telegram
https://t.me/leetcode_daily_unstoppable/998
Problem TLDR
Indices with x #easy
Intuition
Do what is asked
Approach
- the answer can be in
any ordersuggests some interesting optimizations: what if we unroll loops or even start work in parallel? (however, in Kotlin I wasnt able to gain any performance)
Complexity
-
Time complexity: \(O(n)\)
-
Space complexity: \(O(n)\)
Code
// 25ms
fun findWordsContaining(w: Array<String>, x: Char) =
w.indices.filter { x in w[it] }
// 9ms
fun findWordsContaining(w: Array<String>, x: Char): List<Int> {
val res = ArrayList<Int>(w.size)
for (i in w.indices) if (x in w[i]) res += i
return res
}
// 3ms
fun findWordsContaining(w: Array<String>, x: Char): List<Int> {
val res = ArrayList<Int>(w.size)
for (i in w.indices)
for (c in w[i]) if (c == x) { res += i; break }
return res
}
// 0ms
pub fn find_words_containing(w: Vec<String>, x: char) -> Vec<i32> {
(0..w.len()).filter(|&i| w[i].contains(x)).map(|i| i as _).collect()
}
// 0ms
vector<int> findWordsContaining(vector<string>& w, char x) {
vector<int> r;
for (int i = 0; i < size(w); ++i) if (w[i].contains(x)) r.push_back(i);
return r;
}