我投的前端,写算法的时候只有Java。虽然不太熟,毕竟科班学过,用java写过游戏,勉强A了1和3题,100%。第二题其实也简单,但是对java字符串函数不太熟。第一题,括号匹配,经典数据结构栈的题,闭眼写。import java.util.Stack;public class Main { public static boolean isValid(String s) {   Stack<Character> stack = new Stack<>();    for (char c : s.toCharArray()) {     if (c == '(' || c == '{' || c == '[') {      stack.push(c);    } else {   if (stack.isEmpty()) {    return false;   }   char top = stack.pop();   if ((c == ')' && top != '(') || (c == '}' && top != '{') || (c == ']' && top != '[')) {    return false;   } }} return stack.isEmpty();}public static void main(String[] args) { Scanner sn=new Scanner(System.in);  while(sn.hasNextLine()){ String aa=sn.nextLine(); System.out.ln(!isValid(aa));  }}第二题,一个长串 test="asdapplebananaegg" match=['apple','egg'],大概是这样吧。输入输出比较麻烦,就一行,还要分割test和match。然后根据match数组中的向,找到长串test中的位置,然后以数组[i,j]的形式输出。最终输出二维数组。A:0%。一个测试用例都没骗到。第三题,找最小因数组成的整数。比如,输入48,输出68.输入192,输出388.因为3*8*8=192public static int findNum(int a) {  if (a == 0) {   return 0;  }  int result = 0;  int count = 0;  for (int i = 9; i >= 2; i--) { while (a % i == 0) {   result += i * Math.pow(10, count);   count++;   a /= i; }  }  if (a != 1) {   return 0;  } return result;}有人问前端还用java?主要是系统有问题,只能选Java。无所谓,反正真正的全栈是多数语言都会[偷笑]
点赞 2
评论 2
全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务