From 4b5cf230b0cc60e4101ece0bbc3039ced92ea626 Mon Sep 17 00:00:00 2001 From: chayan das Date: Tue, 15 Jul 2025 23:51:22 +0530 Subject: [PATCH] Create 3136. Valid Word --- 3136. Valid Word | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 3136. Valid Word diff --git a/3136. Valid Word b/3136. Valid Word new file mode 100644 index 0000000..1876fcc --- /dev/null +++ b/3136. Valid Word @@ -0,0 +1,18 @@ +// bitset version +class Solution { +public: + bool isValid(string& word) { + const int n=word.size(); + if (n<3) return 0; + bitset<2> v=0; + constexpr unsigned vowels=1|(1<<('e'-'a'))|(1<<('o'-'a'))|(1<<('i'-'a'))|(1<<('u'-'a')); + for(char c: word){ + if (!isalpha(c) && !isdigit(c)) return 0; + if (isalpha(c)){ + unsigned i=(c>'Z')?c-'a':c-'A'; + v[(vowels>>i)&1]=1; + } + } + return v==3; + } +};