科大讯飞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的位置,求从人口到宝藏位置的最短路径,并输出路径
#科大讯飞##科大讯飞笔试#思路:先找出所有入口,然后看从哪个入口走能得到最短路径,最后输出路径,到最后输出路径的时候卡住了