1945. 字符串转化后的各位数字之和
字符串 数字 转化 各位
2023-09-14 09:06:52 时间
1945. 字符串转化后的各位数字之和
给你一个由小写字母组成的字符串 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 。
这题还是很有趣的解题代码如下:
int f(int num){
int sum=0;
while(num){
sum=sum+num%10;
num=num/10;
}
return sum;
}
int getLucky(char * s, int k){
int sum=0;
int i;
for(i=0;s[i]!='\0';i++){
int num=s[i]-'a'+1;
if(num<10){
sum=sum+num;
}
else{
while(num){
sum=sum+num%10;
num=num/10;
}
}
}
while(k>=2){
sum=f(sum);
k--;
}
return sum;
}
相关文章
- 字符串分隔 ->连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
- 1 - apicloud - str 字符串拼接技术
- 【javascript基础】JS计算字符串所占字节数
- 第十三节,基本数据类型,数字int字符串str
- Python判断字符串是否为字母或者数字
- sql中把字符串转化为数字的方法
- 查找字符串中的所有数字
- js 将json字符串转换为json对象的方法解析
- JAVA中,字符串STRING与STRINGBUILDER的效率差异
- R语言提取包含某字符串的行变量
- 761. 字符串中的数字个数
- C# 字符串操作--减少垃圾回收压力
- C# 自定义数字格式字符串 ToString ###,###,###,##0
- 〖Python零基础入门篇㉑〗- 字符串的转义字符
- js 将数字型 的字符串 转 数字 【整数 /浮点型数字】
- 【华为机试真题 Python实现】找出字符串中最小和最大数字
- VB编程:获取字符串中数字个数-50_彭世瑜_新浪博客
- 在 SQL 中用 CONVERT() 函数将日期转换为字符串
- Python: 字符串格式化format()函数的使用
- 1042. Shuffling Machine (20) - sstream实现数字转字符串
- C++之stringstream(字符串与数字相互转换)(七十四)
- 5.单行函数,多行函数,字符函数,数字函数,日期函数,数据类型转换,数字和字符串转换,通用函数(case和decode)