一个整数如果由相同的数字构成,则称为完美整数。例如:
1、11、333 是完美整数。 12、19、101 是不完美整数。 现在,你需要计算给定区间 [x, y] 中有多少个整数是完美整数。
测试样例 样例1:
输入:x = 1 ,y = 10 输出:9
样例2:
输入:x = 2 ,y = 22 输出:10 理解完美整数的定义:完美整数是由相同数字构成的整数,例如 1、11、333 等。 遍历区间 [x, y]:你需要遍历区间 [x, y] 中的每一个整数,判断它是否是完美整数。 判断一个整数是否是完美整数:可以通过将整数转换为字符串,然后检查字符串中的所有字符是否相同来判断。 统计完美整数的数量:在遍历过程中,统计符合条件的完美整数的数量。 以下是代码框架,其中关键步骤用注释标出: java public class Main { public static int solution(int x, int y) { int count = 0; // 遍历区间 [x, y] for (int num = x; num <= y; num++) { // 将整数转换为 字符串 String numStr = Integer. toString(num); // 判断字符串中 的所有字符是否相 同 boolean isPerfect = true; for (int i = 1; i < numStr. length(); i ++) { if (numStr. charAt(i) != numStr. charAt (0)) { isPerf ect = false; break; } } // 如果是完美整 数,增加计数 if (isPerfect) { count++; } } return count; } public static void main(String[] args) { // 测试用例 System.out.println (solution(1, 10) == 9); System.out.println (solution(2, 22) == 10); }}
关键步骤解释: 遍历区间 [x, y]:使用 for 循环从 x 遍历到 y。 将整数转换为字符串:使用 Integer.toString(num) 将整数转换为字符串。 判断字符串中的所有字符是否相同:通过比较字符串中的每个字符与第一个字符是否相同来判断。 统计完美整数的数量:如果当前整数是完美整数,则增加计数。 理解完美整数的定义:完美整数是由相同数字构成的整数,例如 1、11、333 等。 遍历区间 [x, y]:你需要遍历区间 [x, y] 中的每一个整数,判断它是否是完美整数。 判断一个整数是否是完美整数:可以通过将整数转换为字符串,然后检查字符串中的所有字符是否相同来判断。 统计完美整数的数量:在遍历过程中,统计符合条件的完美整数的数量。 遍历区间 [x, y]:使用 for 循环从 x 遍历到 y。 将整数转换为字符串:使用 Integer.toString(num) 将整数转换为字符串。 判断字符串中的所有字符是否相同:通过比较字符串中的每个字符与第一个字符是否相同来判断。 统计完美整数的数量:如果当前整数是完美整数,则增加计数。