首页 > B站后端开发笔试题
头像
枳橘7号
编辑于 2020-08-13 20:17
+ 关注

B站后端开发笔试题

B站的笔试题,题目我就不写了,直接贴代码
第一题:递归
 boolean result = false;
	 public boolean Game24Points (int[] arr) {
	        
		 if(arr == null || arr.length == 0) {
			 return false;
		 }
		 f(arr, 1, arr[0]);
		 return result;
	 }
	 public void f(int[] arr, int index,int sum) {
		 if(index >= arr.length || result == true) {
			 if(sum == 24) {
				 result = true;
			
			 }
			 return;
		 }
		 f(arr, index+1, sum + arr[index]);
		 f(arr, index+1, sum - arr[index]);
		 f(arr, index+1, sum * arr[index]);
		 if(arr[index]!= 0) {
			 f(arr, index+1, sum / arr[index]);
		 }
		 
	 }
第二题:利用栈
 public boolean IsValidExp (String s) {
	       
		 Stack<Character> stack = new Stack<>();
		 for(int i = 0; i < s.length(); i++) {
			 char ch = s.charAt(i);
			 switch (ch) {
			case '{':
				stack.push('{');
				break;
			case '[':
				stack.push('[');
				break;
			case '(':
				stack.push('(');
				break;
			case '}':
			{
				if(stack.isEmpty()) {
					return false;
				}
				if(stack.peek() == '{') {
					stack.pop();
				} else {
					return false;
				}
			}
				break;
			case ']':
			{
				if(stack.isEmpty()) {
					return false;
				}
				if(stack.peek() == '[') {
					stack.pop();
				} else {
					return false;
				}
			}
				break;
			case ')':
			{	
				if(stack.isEmpty()) {
				return false;
			    }
				if(stack.peek() == '(') {
					stack.pop();
				} else {
					return false;
				}
			}
				break;
			default:
				break;
			}
		 }
		 if(stack.isEmpty()) {
			 return true;
		 } else {
			 return false;
		 }
	
 }
第三题:贪心
 public int GetCoinCount (int N) {
	     int money = 1024 - N;
	     int count = 0;
	     count += money/64;
	     money -= (64 * (money/64));
	     count += money / 16;
	     money -= (16 * (money/16));
	     count += money / 4;
	     money -= (4 * (money/4));
	     count += money / 1;
	     return count;
	 }




全部评论

(8) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐