1945.字符串转化后的各位数字之和
链接:1945.字符串转化后的各位数字之和
难度:Easy
标签:字符串、模拟
简介:给你一个由小写字母组成的字符串 s ,以及一个整数 k 。返回执行上述操作后得到的结果整数。
题解 1 - cpp
- 编辑时间:2022-12-15
- 内存消耗:5.9MB
- 编程语言:cpp
- 解法介绍:模拟。
class Solution {
public:
    int getLucky(string s, int k) {
        int num = format(s);
        for (int i = 1; i < k; i++) num = toNum(num);
        return num;
    }
    int format(string &s) {
        int ans = 0;
        for (auto &c : s) ans = ans + toNum(c - 'a' + 1);
        return ans;
    }
    int toNum(int num) {
        int ans = 0;
        for (; num; num /= 10) ans = ans + num % 10;
        return ans;
    }
};
题解 2 - typescript
- 编辑时间:2022-12-15
- 执行用时:64ms
- 内存消耗:44.3MB
- 编程语言:typescript
- 解法介绍:模拟。
function getLucky(s: string, k: number): number {
  return new Array(k).fill(0).reduce(
    cur =>
      cur
        .split('')
        .map(v => Number(v))
        .reduce((sum, cur) => sum + cur, 0)
        .toString(),
    s
      .split('')
      .map(c => c.codePointAt(0)! - 'a'.codePointAt(0)! + 1)
      .join('')
  );
}