文档内容
华为机试2021-1-29
1、给定一个字符串,统计最长的连续元音字符串。长度小于655535,难度1星
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = null;
while ((s=reader.readLine())!=null){
int count=0;
int max = 0;
if (null==s){
continue;
}
char[] chars = s.toLowerCase().toCharArray();
for (int i=0;i=max){
max=count;
}
count=0;
}
}
//全部都是元音的情况
if (count>=max){
max=count;
}
System.out.println(max);
}
}
}
2、打车打表器没有数字4,遇到数字4跳过。给定一个打表器上的数字推算实际金额。打
表器遇到4,14,24,34,40,41,42.。。。49都不在记录内。例如打表显示5实际金额是4,打表
显示25实际是22。难度1星import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main2 {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = null;
while ((s=reader.readLine())!=null) {
int num = Integer.valueOf(s);
int length = s.length();
int realNum = 0;
for (int i=1;i<=num;i++){
String a = i+"";
if(a.endsWith("400000000")){
i=i+100000000-1;
realNum =realNum+ 100000000;
continue;
}
if(a.endsWith("40000000")){
i=i+10000000-1;
realNum =realNum+ 10000000;
continue;
}
if(a.endsWith("4000000")){
i=i+1000000-1;
realNum =realNum+ 1000000;
continue;
}
if(a.endsWith("400000")){
i=i+100000-1;
realNum =realNum+ 100000;
continue;
}
if(a.endsWith("40000")){
i=i+10000-1;
realNum =realNum+ 10000;
continue;
}
if(a.endsWith("4000")){
i=i+1000-1;
realNum =realNum+ 1000;
continue;}
if(a.endsWith("400")){
i=i+100-1;
realNum =realNum+ 100;
continue;
}
if(a.endsWith("40")){
i=i+10-1;
realNum =realNum+ 10;
continue;
}
if (a.contains("4")){
realNum++;
}
}
System.out.println(num-realNum);
}
}
public static int countNum(int num){
int sum = 1;
for (int i=0;inumArr[i]){
min = numArr[i];
}
t ^=numArr[i];
}
if (t!=0){
System.out.println("NO");
}else{
System.out.println(sum-min);
}
}
}