我正在解决比赛中的问题,但无法清除所有测试用例。
问题出在这里
给您一个字符串S和一个整数Q。您最多可以对字符串执行Q个操作。在一个操作中,您可以将任何元音更改为其下一个字符(例如,'a'->'b','e'->'f','i'->'j','o'->'p ','u'->'b')。通过在字符串S上执行最多Q个操作来生成词典上最大的字符串。
{% for file in image_list %}
<img src="{{ file }}" alt="">
{% endfor %}
说明:我们有字符串“ abcde”,并且最多可以执行3次操作,我们可以通过将字符串更改为“ bbcdf”,对字符串的第一个和最后一个字符应用该操作,从而形成字典上最大的字符串词典上最大的
我的代码:
E.g.
S=abcde
Q=3
output=bbcdf
答案 0 :(得分:0)
这是印度IT公司热门明星之一的招聘难题,这就是为什么他们要求提供电话和电子邮件@Wow。
PS:我没有50声望,所以我在这里发表评论。
答案 1 :(得分:0)
package javaLearn.StringEx;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class RePrintVowels {
public static void main(String[] args) throws InterruptedException, NumberFormatException, IOException {
BufferedReader scanner = new BufferedReader(new InputStreamReader(System.in));
System.out.println("enter limitcount");
int nextInt = Integer.valueOf(scanner.readLine());
for (int nn=0 ; nn <nextInt ; nn++){
String nextLine22 = scanner.readLine();
// scanner.nextLine();
// System.out.println("enter LImit");
int nextInt2 =Integer.valueOf(scanner.readLine());
message(nextLine22,nextInt2);
// scanner.nextLine();
// System.out.println("enter string");
String nextLine1 =scanner.readLine();
int nextInt3 =Integer.valueOf(scanner.readLine());
message(nextLine1,nextInt3);
// scanner.close();
}
scanner.close();
}
public static void message(String StringData,int Limit ){
/*String texta=StringData;*/
StringBuilder texta = new StringBuilder(StringData);
int charArray = texta.length();
int ij =Limit;
int it=1;
if(ij >0){
for(int i1=0;it<=ij&&i1<charArray ;i1++){
if(texta.charAt(i1) =='a'
||texta.charAt(i1) =='e'
||texta.charAt(i1) =='i'
||texta.charAt(i1) =='o'
||texta.charAt(i1) =='u')
{
System.out.println("vowles :::"+texta.charAt(i1));
int codePointAt = Character.codePointAt(texta, i1);
System.out.println("codePOint :::"+codePointAt);
char c =(char)(codePointAt+1);
System.out.println("next vowel value ::"+c);
texta.replace(i1, i1+1, String.valueOf(c));
// texta=texta.replace(texta.charAt(i1), (char)(codePointAt+1));
it++;
}
}
}
System.out.println("string :::"+texta);
}
}
答案 2 :(得分:-1)
您忘记添加一个元音u
条件。试试这个。