首页

字节跳动算法牛客网视频面试题【QA20210704】(参考答案)

标签:字节跳动面试,算法     发布时间:2021-07-04   

一、题目1(算法题)

给定一个二叉树的前序和中序结果,输出后序结果@b@前序:A-B-D-E-G-C-F@b@中序:D-B-G-E-A-C-F

二、题目2(算法题)

给定二维m * n矩阵matrix,满足一定特性: @b@1. 每行从左到右递增 @b@2. 每列从上到下递增 @b@给定目标元素num,判断num是否在矩阵中存在
public static void main(String[] args) {@b@		 @b@        //初始化m=2,n=2的二位数组矩阵matrix@b@		int  m=2,n=2;@b@        int[][] mx={{1,2},{2,3}};  @b@        @b@        //查找目标元素num @b@        int num=3;@b@        boolean isExist=false;@b@        for(int i=0;i<m;i++){@b@        	if(num<=mx[i][n-1]){@b@        		for(int j=0;j<n;j++){@b@                	if(mx[i][j]==num){@b@                		isExist=true;@b@                	}@b@                }@b@        	} @b@        } @b@        //打印结果@b@        if(isExist){@b@        	System.out.println("找到结果了!");@b@        }else{@b@        	System.out.println("不存在!");@b@        }@b@        @b@}

时间复杂度:m*n

三、HashMap和HashTable区别?HashMap扩容方法?

..

四、SQL索引

mysql的innodb中联合索引,a、b、c@b@1. where a = xxx and c = xxx@b@2. where a = xxx and b > xxx and c = xxx@b@3. where a >= xxx and b = xxx
1. a走索引,b、c没有走索引
2. a走索引,b走索引,c没有走索引
3. a走索引,b没有走索引

五、请写一个整数计算器,支持加减乘三种运算和括号。

package test;@b@@b@import javax.script.ScriptEngine;@b@import javax.script.ScriptEngineManager;@b@@b@public class StringAdd {@b@@b@	 @b@	public static void main(String[] args) throws  Exception {@b@		ScriptEngineManager manager = new ScriptEngineManager();@b@		ScriptEngine engine = manager.getEngineByName("js");@b@		//1.字符串“1+2” = 3@b@		System.out.println(engine.eval("1+2") );@b@		@b@		//2.字符串"(2*(3-4))*5" = -10@b@		System.out.println(engine.eval("(2*(3-4))*5") );@b@		@b@		//3.字符串 "3+2*3*4-1" = 26@b@		System.out.println(engine.eval("3+2*3*4-1") );@b@@b@	}@b@@b@}