【发布时间】:2018-12-02 06:55:11
【问题描述】:
给定一个整数n,找出并打印无限字符串前n个字母中字母a的个数。
例如,如果字符串 s='abcac' 且 n=10,我们考虑的子字符串是 abcacabcac ,她的无限字符串的前 10 个字符。子字符串中出现了 4 次 a。
static long repeatedString(String s, long n) {
long len = s.length(), count = 0;
StringBuilder sb = new StringBuilder("");
char[] c = s.toCharArray();
for (int i = 0; i < n; i++) {
sb.append(c[(i % len)]);
if (sb.charAt(i) == 'a')
count++;
}
return count;
}
显示错误
不兼容的类型:从 long 到 int 的可能有损转换 sb.append(c[i%len]);
如果我是类型转换 len 那么它没有通过长度大于 10^9 的值的测试用例,例如如果我的输入是
一个
1000000000000
那么输出必须是1000000000000
note-> 对于任何给定的输入,我必须计算“a”的总数 出现在给定的字符串中
编辑:我将我的函数称为
长结果 = 重复字符串("a", 1000000000000);
【问题讨论】:
-
sb.append(c[(int) (i%len)]); -
已经尝试过,o/p 只是错误