力扣解法汇总1945. 字符串转化后的各位数字之和
字符串 数字 汇总 转化 力扣 解法 各位
2023-09-11 14:18:53 时间
目录链接:
力扣编程题-解法汇总_分享+记录-CSDN博客
GitHub同步刷题项目:
https://github.com/September26/java-algorithms
原题链接:力扣
描述:
给你一个由小写字母组成的字符串 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
由小写英文字母组成
解题思路:
* 解题思路: * s分割成char,然后求出sum。 * 循环k-1次,根据sum求出新的sum。 * 这个是比较简单的,不断的求个位数的值进行累加,然后把sum/10即可。
代码:
public class Solution1945 {
public int getLucky(String s, int k) {
char[] chars = s.toCharArray();
int sum = 0;
for (int i = 0; i < chars.length; i++) {
int value = chars[i] - 'a' + 1;
if (value >= 10) {
sum += (value / 10);
sum += (value % 10);
} else {
sum += value;
}
}
for (int i = 1; i < k; i++) {
sum = getSum(sum);
}
return sum;
}
private int getSum(int value) {
int sum = 0;
while (value > 0) {
sum += (value % 10);
value /= 10;
}
return sum;
}
}
相关文章
- c++数字和字符串的转换
- c# 数字自增,返回指定长度字符串
- 检查回文字符串
- Asp.net中数字的字符串转换数值的几个常用函数(留着备用)
- Google Earth Engine(GEE)——如何将字符串转换成一个数字
- 1060 Are They Equal (25 分)【难度: 一般 / 知识点: 模拟 字符串处理】
- Qt中使用DOM解析XML文件或者字符串(实例)
- 【数据库】sql中字符串截取、拼接、字符串与数字之间相互转换
- ES6教程-字符串,函数的参数,了解函数的arguments对象,js面向对象,设计模式-单例模式,解构赋值
- C# JSON字符串序列化与反序列化
- python中数字和字符串和bytes的相互转换实例解析
- JS 中如何判断字符串类型的数字
- java判断字符串是否为数字
- Swift - 数字格式化转成字符串(保留两位小数)
- 处理字符串
- 有个问题需要将字符串(大数字)计算相加并转换成字符串,传递的参数是字符串。
- 如何在java中判断一个字符串是否是数字
- 力扣解法汇总1653. 使字符串平衡的最少删除次数
- js实现字符串反转
- 《Python语言程序设计》——3.6 格式化数字和字符串
- js正则表达式判断一个字符串是否是正确的有数字和小数点组成的金钱形式和 判读数值类型的正则表达式
- 小技巧随手记:一行代码实现星级评分、同步阻塞实现sleep函数、一行代码生成随机字符串(唯一ID/Number.prototype.toString([radix])用法)、获取浏览器Cookie的值、颜色RGB转十六进制、使用数字分隔符、最快获取dom方法(ID同名变量获取dom元素)、带命名空间的事件绑定
- python之对字符串类型的数组求平均值
- 《剑指offer》-- 复杂链表的复制、字符串的排列、数组中出现次数超过一半的数字、连续子数组的最大和
- Linux sed -i 字符串替换
- nyoj 266-字符串逆序输出 (isdigit(), geline(cin, my_string))
- 你的环境有问题吧?--byte数组转字符串的疑惑
- Java小白入门200例38之Java字符串的替换
- java中String字符串工具类整理
- JS截取字符串中数字
- (转)matlab 字符串处理函数
- 【bzoj4974】字符串大师 逆模拟KMP