You are given a string s
consisting of lowercase English letters, and an integer k
.
First, convert s
into an integer by replacing each letter with its position in the alphabet (i.e., replace 'a'
with 1
, 'b'
with 2
, ..., 'z'
with 26
). Then, transform the integer by replacing it with the sum of its digits. Repeat the transform operation k
times in total.
For example, if s = "zbax "
and k = 2
, then the resulting integer would be 8
by the following operations:
"zbax " β "(26)(2)(1)(24) " β "262124 " β 262124
262124 β 2 + 6 + 2 + 1 + 2 + 4 β 17
17 β 1 + 7 β 8
Return the resulting integer after performing the operations described above.
Example 1:
Input: s = "iiii ", k = 1 Output: 36 Explanation: The operations are as follows: - Convert: "iiii " β "(9)(9)(9)(9) " β "9999 " β 9999 - Transform #1: 9999 β 9 + 9 + 9 + 9 β 36 Thus the resulting integer is 36.
Example 2:
Input: s = "leetcode ", k = 2 Output: 6 Explanation: The operations are as follows: - Convert: "leetcode " β "(12)(5)(5)(20)(3)(15)(4)(5) " β "12552031545 " β 12552031545 - Transform #1: 12552031545 β 1 + 2 + 5 + 5 + 2 + 0 + 3 + 1 + 5 + 4 + 5 β 33 - Transform #2: 33 β 3 + 3 β 6 Thus the resulting integer is 6.
Example 3:
Input: s = "zbax ", k = 2 Output: 8
Constraints:
1 <= s.length <= 100
1 <= k <= 10
s
consists of lowercase English letters.program main
implicit none
character(len=*), parameter :: s = "zbax "
integer, parameter :: k = 2
integer :: result
result = solve(s, k)
print '(I0)', result
contains
function solve(s, k) result(result)
implicit none
character(len=*), intent(in) :: s
integer, intent(in) :: k
integer :: result
! convert s into an integer by replacing each letter with its position in the alphabet
result = 0
do i = 1, len_trim(s)
result = result * 26 + ichar(s(i:i)) - ichar('a') + 1
end do
! transform the integer by replacing it with the sum of its digits
do j = 1, k
result = sum(digits(result))
end do
contains
function digits(n) result(d)
implicit none
integer, intent(in) :: n
integer :: d(10)
d = 0
do while (n > 0)
d(mod(n, 10) + 1) = mod(n, 10)
n = n / 10
end do
end function digits
end function solve
end program main
temp.f95:30:12: 30 | contains | 1 Error: CONTAINS statement at (1) is already in a contained program unit temp.f95:33:25: 33 | implicit none | 1 Error: Duplicate IMPLICIT NONE statement at (1) temp.f95:34:36: 34 | integer, intent(in) :: n | 1 Error: Unexpected data declaration statement at (1) temp.f95:35:28: 35 | integer :: d(10) | 1 Error: Unexpected data declaration statement at (1) temp.f95:42:27: 42 | end function digits | 1 Error: Expected label βsolveβ for END FUNCTION statement at (1) temp.f95:37:13: 37 | d = 0 | 1 Error: Symbol βdβ at (1) has no IMPLICIT type temp.f95:21:12: 21 | do i = 1, len_trim(s) | 1 Error: Symbol βiβ at (1) has no IMPLICIT type temp.f95:26:12: 26 | do j = 1, k | 1 Error: Symbol βjβ at (1) has no IMPLICIT type temp.f95:38:23: 38 | do while (n > 0) | 1 Error: Symbol βnβ at (1) has no IMPLICIT type temp.f95:27:25: 27 | result = sum(digits(result)) | 1 Error: βarrayβ argument of βsumβ intrinsic at (1) must be an array
PROGRAM main
IMPLICIT NONE
CHARACTER(len=100) :: s
INTEGER :: k
INTEGER :: i
INTEGER :: result
! Read input
READ(*,*) s, k
! Convert string to integer
result = 0
DO i = 1, LEN(s)
result = result * 26 + ICHAR(s(i:i)) - ICHAR('a') + 1
END DO
! Perform transformations
DO i = 1, k
result = SUM(DIGITS(result))
END DO
! Output result
WRITE(*,*) result
END PROGRAM main
temp.f95:21:17: 21 | result = SUM(DIGITS(result)) | 1 Error: βarrayβ argument of βsumβ intrinsic at (1) must be an array
from collections import defaultdict
def finding_users_active_minutes(logs, k):
user_minutes = defaultdict(set)
for log in logs:
user_minutes[log[0]].add(log[1])
result = [0] * k
for minutes in user_minutes.values():
if len(minutes) <= k:
result[len(minutes) - 1] += 1
return result
1. Create a data structure to store the unique minutes for each user ID. In this case, we use a hash map with user IDs as keys and sets of minutes as values.
#include <vector>
#include <unordered_map>
#include <unordered_set>
std::vector<int> finding_users_active_minutes(std::vector<std::vector<int>>& logs, int k) {
std::unordered_map<int, std::unordered_set<int>> user_minutes;
for (const auto& log : logs) {
user_minutes[log[0]].insert(log[1]);
}
std::vector<int> result(k, 0);
for (const auto& entry : user_minutes) {
if (entry.second.size() <= k) {
result[entry.second.size() - 1]++;
}
}
return result;
}
1. Create a data structure to store the unique minutes for each user ID. In this case, we use a hash map with user IDs as keys and sets of minutes as values.