假设3月1号开始参加秋招,从今日算起,也还剩差不多85天。最近几日沉浸在自习室埋头苦学让我内心充盈,也是迫于就业压力,准备记录下这最后时光的所学所想。也为了敦促自己提高学习效率以及充分吸收知识点。
12.5刷题
1,、Leetcode 最大正方形:
动态规划问题,找到dp[i][j]的关系式,
dp[i][j]=Math.min(Math.min(dp[i-1][j],dp[i][j-1]),dp[i-1][j-1])+1;
注意对象的数据类型,如char[][]matrix是字符类型而非int,判断等式后应该是’1’而不是1;
2、Leetcode 三角形最小路径和
也是动态规划问题,找dp[i][j]
先填充三角形的两条腰,因为最短路径唯一。
dp[i][j]=Math.min(dp[i-1][j-1],dp[i-1][j])+triangle.get(i).get(j);//关键表达式。
同时留意题目给定的数据类型,triangle是ArrayList故要用get方法取值。
边界值问题也需要多加留意。
3、Leetcode 两数相加
求两个逆序放置在链表的数的和,同时返回新链表的头结点。
记得声明一个对象存放进位。留意链表指针,temp和temp.next很容易把自己弄混。
4、Leetcode 奇偶链表
将一个链表的奇偶节点拆开排列。
添加四个引用指向head和head.next。机头机尾偶头偶尾。
机尾.next指向偶尾.next,机尾=机尾.next。
偶尾.next指向机尾.next,偶尾=偶尾.next。
循环之后将机尾与偶头连接就好了。
5、Leetcode 相交链表
求两个链表的交界节点。
思路是先统计两个头结点到尾巴的长度,然后截去长链的前部分节点让他们一样长,然后遍历比较节点。难点不大,主要写一个计数的子方法。
6、Leetcode 中序遍历二叉树
判断根节点非空,递归遍历左子树,输出根节点值,再递归遍历右子树。前序后序差别不大。
基本功啊,可是还不会非递归的方法,明天补上。
7、Leetcode 二叉树的锯齿层次遍历
运用队列的方法,初始化一个对象count,记录q的长度,q非空,则将q中的元素出队列写进一个ArrayList,同时将元素的左右孩子入队。锯齿是层次遍历的改变,只需一开始的时候初始化一个boolean对象为ture,之后每下一层取反。List取反可以import java.util.Collections .reverse()方法很方便。
一天七道题,效率比前两天提高,不过感觉还可以再上一层楼。
傍晚回宿舍搞定了genymotion模拟器,还需把AS环境再搞一搞。
还想着自己弄个服务器搞个博客搭个梯子,又害怕浪费时间。刚在csdn上写的博客直接导致网页崩溃多次,让我坚定了这个想法,也可以当是学习之余的娱乐吧。那就快点提上日程。
偷懒刷了会儿微博,看到几个热搜,一个是王源翻栏杆,有人说名人违反交通规则,有人骂狗仔傻逼。一个是温州重金寻子后续系其母亲考验孩子他爸,以及薛子谦又和xxx互怼。一瞬间觉得还是世界聒噪,还是自习室安静。也总是后悔之前的时间没有好好利用。仔细一想,人还是很容易在学习中获得快乐的,困难在于使内心平静进入学习状态需要一定时间,这块关键的时间用来刷微博看综艺打游戏,人也就堕落了。而一旦进入学习状态,这些娱乐让现在的我看来甚至有些无聊哈哈哈。啧啧啧要是能把这会儿的贤者模式存档我的人生就无敌了。
差不多可以肥宿舍啦,再去捣鼓下AS就睡觉,今天还不错,望保持。