灵犀互娱前端、java、终端笔试。算法只能用java吗

我投的前端,写算法的时候只有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=192

public 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。无所谓,反正真正的全栈是多数语言都会

#灵犀互娱##笔试##算法#
全部评论
我和你就第二题一样,处理这个输入给我整麻了,输出二维数组还得拼接括号逗号空格,硬是整了二十分钟才过,纯纯的逆天
点赞 回复 分享
发布于 2023-08-19 12:03 陕西
但是因为想第二题,没注意时间,后面的游戏题好像是一分的忘记做了。。。还有个游戏经历论述题啥的,没做。
点赞 回复 分享
发布于 2023-08-19 11:53 广东

相关推荐

一面&nbsp;1.SQL占位符了解吗(#{}和${})2.批量&nbsp;SQL&nbsp;INSERT&nbsp;操作时,每条记录的列结构(即占位符数量和类型)不固定时如何解决(说说了固定一条来操作,或者分组为几条来操作,他不是很满意,他想要动态的来操作)3.网络套接字Socket会用吗4.介绍下你的项目5.为什么想来游戏厂6.除了Java还会其他语言吗7.为什么选择Java反问:1.了解到要转码到Erlang,可以说说企业对这种转码如何培训和引导(有导师到,转码语言以自学为主)2.工作时间是(双修,早九晚六,但几乎每天都会加班到八点,强调这个加班有钱)3.要写lua脚本吗(不用,鼓励学习)二面(先技术面再hr面)1.MySQL的数据存储在哪2.一条&nbsp;SELECT&nbsp;语句从被客户端发出到最终从存储文件中找到数据并返回结果的过程描述一下3.说说MySQL&nbsp;客户端/服务器协议(不太明白,只说了说协议规定数据的Encode、Decode)4.了解游戏开发服务端同步机制吗?(简单介绍了下帧同步)5.让你设计一个游戏用户的签到功能,能统计签到次数给用户发放奖励,详细说说你的设计思路(说了布隆过滤器)6.当用户签到次数到了一定的数量给用户发放奖励,说说在用户点击点击“领取”键来领取奖励时,服务端如何实现这一过程(这里想的有点乱,我一开始以为发放奖励是直接入到用户的账号,“领取”键只是一个通知界面,但他是点击后领取奖励)7.如何防止用户重复领取(幂等性)下面是hr面1.户籍地、工作意向地点2.主要投递的岗位3.为什么投递游戏服务端开发工程师4.如何学习技术,特别是编程语言的学习(因为他们要求转码到Erlang)5.说说你项目的背景6.现在手上offer的情况7.说说你的期望薪资8.(我说了个范围)他进一步问什么样的企业你会想要你自己期望薪资的最大薪资,什么样的企业你能接受你自己期望薪资的最小薪资反问:1.游戏服务端开发要和游戏客户端开发沟通,需要我们了解游戏客户端的技术吗(不是必要,但最好去了解)2.团队的氛围如何(说游戏厂年轻人为主,氛围会开放、积极)
查看22道真题和解析
点赞 评论 收藏
分享
1.&nbsp;js中变量都是怎么定义的2.&nbsp;说一下为什么&nbsp;const&nbsp;是不可变的3.&nbsp;let和var变量提升的时候提升到什么地方了4.&nbsp;js中在a.js中var&nbsp;a&nbsp;=&nbsp;1,在b.js中能访问到吗5.&nbsp;输出?为什么?var&nbsp;a&nbsp;=&nbsp;1{console.log(a)var&nbsp;a&nbsp;=&nbsp;2}console.log(a)6.&nbsp;输出?为什么?var&nbsp;a&nbsp;=&nbsp;1;{console.log(a)let&nbsp;a&nbsp;=&nbsp;2}console.log(a)7.&nbsp;promise是什么8.&nbsp;什么是同步,异步9.&nbsp;那么promise中哪些是同步哪些是异步10.&nbsp;promise的方法执行顺序是怎么样的11.&nbsp;js中有哪些数据类型12.&nbsp;对于number,怎么定义二进制、十进制、八进制、十六进制,除了加前缀还有什么方法13.&nbsp;假如要定义浮点类型,.2这种方式对吗14.&nbsp;string定义方式15.&nbsp;单引号、双引号、反引号定义有什么区别16.&nbsp;===&nbsp;==区别17.&nbsp;true&nbsp;==&nbsp;-118.&nbsp;null&nbsp;==&nbsp;underfined19.&nbsp;令underfined&nbsp;=&nbsp;1这种写法对吗20.&nbsp;输出?为什么?let&nbsp;a&nbsp;=&nbsp;0&nbsp;/&nbsp;0;let&nbsp;b&nbsp;=&nbsp;1&nbsp;/&nbsp;0;a&nbsp;==&nbsp;b21.&nbsp;输出?为什么?let&nbsp;a&nbsp;=&nbsp;0&nbsp;/&nbsp;0;let&nbsp;b&nbsp;=&nbsp;0&nbsp;/&nbsp;0;a&nbsp;==&nbsp;b如何准确比较22.&nbsp;输出?为什么?''&nbsp;==&nbsp;'0'0&nbsp;&nbsp;==&nbsp;''23.&nbsp;说一下浅拷贝和深拷贝24.&nbsp;什么情况用浅拷贝/深拷贝25.&nbsp;怎么实现深拷贝,哪些情况stringify无法实现26.&nbsp;讲一下什么是webpack27.&nbsp;有哪些loader28.&nbsp;热更新怎么实现的29.&nbsp;http,https有什么区别,为什么https更安全30.&nbsp;git中怎么拉取代码31.&nbsp;git&nbsp;clone/fork/branch有什么区别32.&nbsp;git&nbsp;pull&nbsp;和fetch有什么区别33.&nbsp;git&nbsp;rebase/merge有什么区别34.&nbsp;Branch&nbsp;B中提交了commit1,commit2,在branch&nbsp;A中想要拉取branch&nbsp;b的commmit1,怎么做35.&nbsp;算法,给一个数组nums,要找出数组中没有出现的最小正整数
发面经攒人品
点赞 评论 收藏
分享
评论
3
7
分享

创作者周榜

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