3461. Check If Digits Are Equal in String After Operations I
Description
You are given a string s
consisting of digits. Perform the following operation repeatedly until the string has exactly two digits:
- For each pair of consecutive digits in
s
, starting from the first digit, calculate a new digit as the sum of the two digits modulo 10. - Replace
s
with the sequence of newly calculated digits, maintaining the order in which they are computed.
Return true
if the final two digits in s
are the same; otherwise, return false
.
Example 1:
Input: s = "3902"
Output: true
Explanation:
- Initially,
s = "3902"
- First operation:
(s[0] + s[1]) % 10 = (3 + 9) % 10 = 2
(s[1] + s[2]) % 10 = (9 + 0) % 10 = 9
(s[2] + s[3]) % 10 = (0 + 2) % 10 = 2
s
becomes"292"
- Second operation:
(s[0] + s[1]) % 10 = (2 + 9) % 10 = 1
(s[1] + s[2]) % 10 = (9 + 2) % 10 = 1
s
becomes"11"
- Since the digits in
"11"
are the same, the output istrue
.
Example 2:
Input: s = "34789"
Output: false
Explanation:
- Initially,
s = "34789"
. - After the first operation,
s = "7157"
. - After the second operation,
s = "862"
. - After the third operation,
s = "48"
. - Since
'4' != '8'
, the output isfalse
.
Constraints:
3 <= s.length <= 100
s
consists of only digits.
Solutions
Solution 1: Simulation
We can simulate the operations described in the problem until the string \(s\) contains exactly two digits, and then check if these two digits are the same.
The time complexity is \(O(n^2)\), and the space complexity is \(O(n)\). Here, \(n\) is the length of the string \(s\).
1 2 3 4 5 6 7 8 |
|
1 2 3 4 5 6 7 8 9 10 11 12 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
1 2 3 4 5 6 7 8 9 10 |
|
1 2 3 4 5 6 7 8 9 10 |
|