我有一个字符串,我需要至少重复' n'次数。那么对于给定数量的' n'我需要计算字母' a'
例如
字符串 - ' aab'
n - 10
我需要迭代字符串' aab'所以总计数应该至少等于' n'然后我需要找到' a'
的数量
请在此处查看问题https://www.hackerrank.com/challenges/repeated-string
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);
}
当输入很小时,这是有效的。对于以下情况,它会显示由于超时而终止的错误。 字符串 - &#39; a&#39; n - 10000000000000
有人可以帮帮我吗?提前致谢
答案 0 :(得分:1)
使用初始字符串计数并乘以n。
答案 1 :(得分:0)
请按照以下步骤操作:
查找字符串的长度(len
)。 [例如:&#34; aba&#34;长度为3]
找到s
=(int)(n / len)和rem
= n%len
查找原始字符串a
出现的次数,例如k
。根据示例,它是2. [2&#34; aba&#34; ]
重复从i=0
到i<rem
的字符串,找出a
出现的次数,比如p
。
您的答案是k*s + p