2698. 找到一个整数的惩罚数

2698. 找到一个整数的惩罚数

💡 原文英文,约800词,阅读约需3分钟。
📝

内容提要

给定正整数n,惩罚数是满足特定条件的整数i的平方和。条件是i的平方可以分割成连续子串,其和等于i。通过递归算法检查所有可能的分割,计算有效的惩罚数。

🎯

关键要点

  • 给定正整数n,惩罚数是满足特定条件的整数i的平方和。
  • 条件是i的平方可以分割成连续子串,其和等于i。
  • 通过递归算法检查所有可能的分割,计算有效的惩罚数。
  • 示例1:输入n=10,输出182,满足条件的整数有1、9和10。
  • 示例2:输入n=37,输出1478,满足条件的整数有1、9、10和36。
  • 约束条件为1 <= n <= 1000。
  • 使用递归算法生成数字的所有可能分割。
  • 主循环遍历每个整数i,从1到n,计算其平方并转换为字符串。
  • canSplit函数用于检查平方的字符串表示是否可以分割成和为i的连续子串。
  • 如果找到有效分割,则将整数的平方加到总惩罚和中。
➡️

继续阅读