期中考试

由于晚上要进行线上的期中考试,这周没有讲书上的新课
早上理论课讲了git的相关操作,以及如何进行多人合作
晚上实践课进行了期中考试
题目基本上是平时作业题或者稍加改动
前五道是填空题,考察一些基本知识
第六题是爬楼梯问题,也是力扣第70题
这里可以用递归解决,但在力扣上会超时,我选择了动态规划来减少重复计算

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int fun(int n) {
if (n == 1 || n == 2)
return n;
else
{
int temp1 = 1, temp2 = 2;
for (int i = 3; i <= n; ++i)
{
int temp3 = temp2;
temp2 = temp1 + temp2;//下一个是前两个之和
temp1 = temp3;//交换前两个
}
return temp2;
}
}

第七题是之前做过的编写时间类
可能存在的问题就是逢60进1,不说过多了
第八题是有前置条件的n皇后问题,是作业题的改进
如果用一维数组还比较麻烦,直观起见,我直接构造了一个二维数组保存状态
然后用回溯解决即可
第九题是寻找两数之积等于target,类似于力扣的两数之和
我就直接暴力求解了,时间复杂度为O(n^2)
第十题是字符串实现大数减法,关键就是对是否借位的记录
我用了一个sign记录下来,借位,则sign=-1,否则sign=0
然后就是将两个字符串反转,逐位相减,传sign到下一位
一直到遍历完,得到的字符串反转即为answer
由于都是熟悉的题目,用时40min就做完了
ranking

本周力扣刷题记录

本周做得不多,共18题,包括6道简单,10道中等,2道困难
主要做了几个字符串和链表题
力扣刷题记录