刷题的第二周了,这周尽量保证每天2题。
1. 2020/03/18
1). 题目:
这题想了很久都没有什么头绪,看了答案才知道,要分析非重叠的上,下,左,右四种情况
附上答案里的分析:
直接上答案:
2).
题目:
题目很容易理解,python有内置function可以把二进制转化为十进制
解析:先把输入的a和b转化为10进制,然后相加后再转化为2进制。此时得到的2进制数前面有“0b”(代表二进制)需要去除后再进行输出。
答案:
2.2020/03/23
鸽了一周,有点惭愧,今天继续
1).题目:题目比较简单,直接上答案
答案:
2).
题目:又是很简单的题,编译一次通过
答案:
3. 2020/03/24
1).题目:题目想了很久也没想出来做法,看了答案的分析,才有了这题解法,直接上答案分析
答案:
2).
题目:
答案:
有些暴力的解法。
一开始以为输入的m和n的值是A,B数组的长度,后来发现是A,B去掉缓冲空间后的长度。所以只要把0全部换成B的值,之后进行排序就直接得到结果
4.2020/03/25
1).题目:这题要求不能重新创造新的数组,所以直接使用remove函数无法实现。
看了评论后发现题目只说了:修改输入数组 没说 删除数组中的val值,所以可以直接将数组中的val值覆盖
答案:
2).
题目:
题目比较简单,直接上答案
答案:
5.2020/03/26
1).题目:
好久没有写树的题,递归也很久没使用过了。上次字节面试到树的题目我一脸懵,这次回顾下树的知识
答案:
注意:因为是从0开始,所以要在左子树和右子树最大值基础上+1
2).题目:
上次面试字节遇到的题,当时没答出来,现在来解决
太久没写Tree了,还是看了下答案分析
答案:
注意:当左子树等于右子树时,左右两边的值也需要相等。
6.2020/03/27
1).题目:直接写答案,一次通过
答案:
2).
题目:
和上一题有些类似,但要求返回的时一个链表,所以写法不同
一开始没什么头绪,看了下提示,使用快慢指针。先让fast指针走k步,之后在fast不是None的前提下,slow指针和fast指针同时走,slow指针和fast指针相差k距离,因此slow指针就是return的结果。
7.2020/03/28
1). 题目:直接用暴力写法写出来了。因为题目规定了递减,也可以使用二分法优化。
答案:
2).题目:
删除链表里的一个节点:首先将下一个节点的值赋值给当前节点,然后把node.next连接到node.next.next上
答案:
8.2020/03/29
1).题目:
答案:
这题有点难,看了答案才知道在循环的过程中,因为是从当前index开始偏移,经过index+m-1 次,为了保证不会超出list 的range,需要%len(list)。
2).
题目:
很简单的题目,把list中每个元素转换为str然后根据len判断是否为偶数就行
答案:
网友评论