Java 在重复字符串中查找计数
我有一个字符串,我需要重复至少n次。然后,对于给定数量的“n”,我需要计算字母“a”的出现次数 例如 字符串-'aab' n-10 我需要迭代字符串“aab”,以便总计数至少等于“n”,然后我需要找到“a”的计数Java 在重复字符串中查找计数,java,arrays,algorithm,Java,Arrays,Algorithm,我有一个字符串,我需要重复至少n次。然后,对于给定数量的“n”,我需要计算字母“a”的出现次数 例如 字符串-'aab' n-10 我需要迭代字符串“aab”,以便总计数至少等于“n”,然后我需要找到“a”的计数 请看这里的问题 publicstaticvoidmain(字符串[]args){ 扫描仪输入=新扫描仪(系统输入); 字符串s=in.next(); 长n=in.nextLong(); 长计数=0; 字符串测试=”; 对于(长i=0;i只需使用初始字符串计数并乘以n.按照以下步骤操作:
请看这里的问题
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
字符串s=in.next();
长n=in.nextLong();
长计数=0;
字符串测试=”;
对于(长i=0;i只需使用初始字符串计数并乘以n.按照以下步骤操作:
查找字符串的长度(len
)。[例如:“aba”的长度为3]
查找s
=(int)(n/len)和rem
=n%len的值
查找原始字符串中a
出现的次数,例如k
。根据示例,它是2。[aba中的2次]
< > > >从“代码> > i=0</代码>到<代码>的字符串中重复。请注意这里的问题。我不认为HACKERANK的观点是为了让你把问题撇在别人身上。你应该考虑自己解决这个问题。t重复的次数。我不认为test
对于获得答案是必要的,但正如你所知,你永远不应该在循环中使用串联。它的成本非常高而且速度非常慢。相反,使用a.ok。但是在第二个测试用例中,字符串是“a”,n是1000000000。超时可能是因为串联的速度太慢nation处于循环中。线程“main”java.lang.OutOfMemoryError中出现异常:java堆空间。这是我使用StringBuilder时出现的错误。我将给您一个提示:使用n/s.length
和n%s.length
确定字符串在n
字符中出现的次数。不要使用test
。
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String s = in.next();
long n = in.nextLong();
long count = 0;
String test = "";
for(long i =0;i <= n; i++)
{
test = test.concat(s);
}
long len = test.length();
for ( int i = 0; i < len; i++)
{
if(i < n )
{
if((int)test.charAt(i) == 97 )
{
count ++;
}
}
else
{
break;
}
}
System.out.println(count);
}