科大讯飞8.20笔试
科大讯飞8.20笔试
第一题
第一个数字是1/2,第二个数字是2/3,每个数的分子是前一个数的分母,分母是前一个数的分子+分母,求前n个的累加和
考coding能力的题目 过了83%好像
public static float seqSum (int n) {
if(n<1){
return 0.00f;
}
float res= (float) (1.0/2.0);
int a=1;
int b=2;
for (int i = 1; i < n; i++) {
int help=b;
b=a+b;
a=help;
res+=(float)a/b;
}
String format = String.format("%.2f", res);
Float aFloat = Float.valueOf(format);
float x=aFloat;
return x;
} 第二题
字符串格式判断
按题目的条件一个个过滤即可 ac
public boolean signalVerify (String signal) {
if(signal==null||signal.length()<3){
return false;
}
if(signal.charAt(0)<'a'||signal.charAt(0)>'z'){
return false;
}
if(signal.charAt(1)!='='){
return false;
}
if(signal.charAt(2)==' '){
return false;
}
String help=signal.substring(2);
String s = help.replaceAll("\\d", "").replaceAll(" ", "");//过滤数字和空格
for(int i=0;i<s.length();i++){
if(s.charAt(i)<'a'||s.charAt(i)>'z'){
return false;
}
}
return true;
} 第三题 给定一个4x4的二维数组,0代表能走,1代表不能走,8代表宝藏的位置,入口是二维数组的边界位置的任一个不为0的位置,求从人口到宝藏位置的最短路径,并输出路径
#科大讯飞##科大讯飞笔试#思路:先找出所有入口,然后看从哪个入口走能得到最短路径,最后输出路径,到最后输出路径的时候卡住了
