当前位置:网站首页>5823. 字符串转化后的各位数字之和
5823. 字符串转化后的各位数字之和
2022-08-09 03:15:00 【田园诗人之园】
给你一个由小写字母组成的字符串 s
,以及一个整数 k
。
首先,用字母在字母表中的位置替换该字母,将 s
转化 为一个整数(也就是,'a'
用 1
替换,'b'
用 2
替换,... 'z'
用 26
替换)。接着,将整数 转换 为其 各位数字之和 。共重复 转换 操作 k
次 。
例如,如果 s = "zbax"
且 k = 2
,那么执行下述步骤后得到的结果是整数 8
:
- 转化:
"zbax" * "(26)(2)(1)(24)" * "262124" * 262124
- 转换 #1:
262124 * 2 + 6 + 2 + 1 + 2 + 4 * 17
- 转换 #2:
17 * 1 + 7 * 8
返回执行上述操作后得到的结果整数。
示例 1:
输入:s = "iiii", k = 1 输出:36 解释:操作如下: - 转化:"iiii" * "(9)(9)(9)(9)" * "9999" * 9999 - 转换 #1:9999 * 9 + 9 + 9 + 9 * 36 因此,结果整数为 36 。
示例 2:
输入:s = "leetcode", k = 2 输出:6 解释:操作如下: - 转化:"leetcode" * "(12)(5)(5)(20)(3)(15)(4)(5)" * "12552031545" * 12552031545 - 转换 #1:12552031545 * 1 + 2 + 5 + 5 + 2 + 0 + 3 + 1 + 5 + 4 + 5 * 33 - 转换 #2:33 * 3 + 3 * 6 因此,结果整数为 6 。
提示:
1 <= s.length <= 100
1 <= k <= 10
s
由小写英文字母组成
int getLucky(char * s, int k){
int ans = 0;
int sum = 0;
int res[100] = {0};
int len = strlen(s);
for (int i = 0; i < len; i++) {
res[i] = s[i] - 'a' + 1;
if (res[i] >= 10) {
sum += res[i]/10 + res[i]%10;
}
else
{
sum += res[i];
}
}
while (k > 1) {
if (sum >= 10) {
while (sum > 0) {
ans += sum % 10;
sum /= 10;
}
sum = ans;
k--;
}
else {
k--;
}
ans = 0;
}
return sum;
}
边栏推荐
- 非关系型数据库MongoDB:(二)副本集部署说明、数据迁移、限制内存、启用mongo认证
- SQL注入(3)
- Day021 Book management system (objects and arrays)
- 2022-08-08 The fifth group Gu Xiangquan study notes day31-collection-junit unit test
- 365天挑战LeetCode1000题——Day 051 特殊的二进制序列 分治
- qt字符串之 QString详解
- 126. 单词接龙 II
- Hudi从内核到实战介绍
- SQLserver重新累计问题
- 以赛促练-力扣第84场双周赛反思以及第305场周赛补题
猜你喜欢
随机推荐
BigDecimal 详解
C专家编程 第9章 再论数组 9.1 什么时候数组与指针相同
MySQL相关知识 和 数据的存储相关知识
【剑指offer】二进制中1的个数&&2的幂
SIP协议栈学习之开始篇
Chapter2多元函数
【面试整理】-- 多线程
hcip MPLS 实验
C专家编程 第9章 再论数组 9.6 C语言的多维数组
Mysql表打不开
ReentrantLock源码分析
2022微服务面试题 最新50道题(含答案解析)
126. 单词接龙 II
leetcode-23. Merge K ascending linked lists
Chapter3 numpy创建数组
How to deal with cyber attacks?
365 days challenge LeetCode1000 topic - Day 051 special binary sequence partition
VMware不正常关机
渗透测试-域环境下的信息收集
交换VLAN实验