2023-12-01 Daily Challenge
Today I have done leetcode's December LeetCoding Challenge with cpp
.
December LeetCoding Challenge 1
Description
Check If Two String Arrays are Equivalent
Given two string arrays word1
and word2
, return true
if the two arrays represent the same string, and false
otherwise.
A string is represented by an array if the array elements concatenated in order forms the string.
Example 1:
Input: word1 = ["ab", "c"], word2 = ["a", "bc"] Output: true Explanation: word1 represents string "ab" + "c" -> "abc" word2 represents string "a" + "bc" -> "abc" The strings are the same, so return true.
Example 2:
Input: word1 = ["a", "cb"], word2 = ["ab", "c"] Output: false
Example 3:
Input: word1 = ["abc", "d", "defg"], word2 = ["abcddefg"] Output: true
Constraints:
1 <= word1.length, word2.length <= 103
1 <= word1[i].length, word2[i].length <= 103
1 <= sum(word1[i].length), sum(word2[i].length) <= 103
word1[i]
andword2[i]
consist of lowercase letters.
Solution
class Solution {
public:
bool arrayStringsAreEqual(vector<string>& word1, vector<string>& word2) {
int i1 = 0, i2 = 0, s1 = 0, s2 = 0;
int len1 = word1.size(), len2 = word2.size();
while(i1 < len1 && i2 <len2) {
if(word1[i1][s1] != word2[i2][s2]) return false;
s1 += 1;
if(s1 == word1[i1].length()) s1 = 0, i1 += 1;
s2 += 1;
if(s2 == word2[i2].length()) s2 = 0, i2 += 1;
}
if(i1 != len1 || i2 != len2) return false;
return true;
}
};
// Accepted
// 109/109 cases passed (3 ms)
// Your runtime beats 93.69 % of cpp submissions
// Your memory usage beats 89.94 % of cpp submissions (11.4 MB)