所以时间复杂度是按照基本操作的执行次数来记录的。
举个例子:
N是指问题规模,下面的代码可以吧N看作数字。
最坏情况就是最多执行次数。
平均情况就是任意规模的期望次数。
最好情况是最少运行次数。
(2)练习
①斐波那契数列的时间复杂度?
什么是斐波那契数列呢?
也就是0 1 1 2 3 5……这样的数列,也就是第三项是前两项之和。
看出来了吗?
所以,我们先来写一个斐波那契函数
class Fib{
int ret =0;
public int sfib(int x){
if(x==0){
ret = 0;
}else if(x<3){
ret = 1;
}else if(x>2){
ret = sfib(x-1)+sfib(x-2);
}
return ret;
}
}
public class dd {
public static void main(String[] args) {
int x = 6;
Fib fib = new Fib();
int ret = fib.sfib(x);
System.out.println(ret);
}
}
那我们来分析一下啊:
这看起来像不像硕果累累的大树?
最后
无论是哪家公司,都很重视基础,大厂更加重视技术的深度和广度,面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。
针对以上面试技术点,我在这里也做一些资料分享,希望能更好的帮助到大家。
CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】
.(img-pqBz1Mkx-1630931892318)]
[外链图片转存中…(img-TK0lUVP5-1630931892319)]
[外链图片转存中…(img-apZcn7fj-1630931892320)]