一些记录
做题以半小时为界,半个小时还不会做,找他人解析
不要想着一步登天,一劳永逸(经常会这样想)
总有人能顶着压力做到你自认为做不到的事
按专题刷,大白话,多画图,先手写再上机
面试时:
- 理解,复述并确定问题
- 进一步确定问题,并大胆说出想法,逐步找到最优的想法
- 要与面试官沟通确认后再写
- 初步设计,先写整体再考虑边界
- 测试检验,优化解法
- 聊一聊时间和空间复杂度,有错的及时沟通
时间复杂度
时间复杂度是语句执行的次数
时间复杂度练习:
int i=1,k=0;
do{
@ k+=10*i;
i++;
}while(i<=n-1);
答案为:n-1
for(i=1;i<=n;i++){
for(j=1;j<=i;j++){
for(k=1;k<=j;k++)
@ x+=delta;
}
}
答案为:最后是2n+4,图片错了
x=91;y=100;
while(y>0){
@ if(x>100){
x-=10;
y--;
}else x++;
}
答案为1100
空间复杂度
看需要申请多少空间。
几个变量,O(1)
一个数组,链表,队列,栈,或者Hash,O(n)
二维数组,O(n^2)