今天提前醒了,但是因为太冷了,也没起来,挨到上班时间才起床。中午下雪了,冒着大雪去了银行,还算比较顺利,只是额度没有了,购买看好的结构性存款要等明天了。自从开始学习项目类课程以来,深深地体会到了软件开发的博大精深,现在刷题也不再那么恐惧了,因为想想还有虚拟机配置,各种Linux语句这样更让我觉得陌生恐惧的事情,好歹刷题是有题解的,多看几个总有能看懂的,有的报错甚至不知道去哪里搜索答案,这么一想,刷题的时候反而精神放松了。
由于上班的时候没有办法配置环境,只能先利用空闲时间学习Linux的基本操作,下班回去之后再在电脑上实现,可能进度比较缓慢,但是每天前进一点,把发现的问题报错都记录下来,也是很有收获的。
今日进度:
1.抽时间去银行重新授权了,至少现在在手机上就可以尝试理财了
2.想清楚了积极的态度对于实现远大目标的重要性,有时候恰恰是害怕努力之后无法实现目标这样消极的态度本身,导致了最终走向不好的结局,抱着积极正向的态度,每一天都为实现目标而努力一点点,万一有一天真的实现了呢
3.坚持听网课,坚持刷题
4.坚持锻炼,发现一个强度比较高的3分钟瘦肚子训练,非常适合每天坚持做,也不会花太多时间,正好可以和肩颈锻炼组合起来
5.坚持录小王子,今天说什么也要录一篇了,否则都快忘记有这回事了
6.配置环境的时候发现了一个bug解决了,虽然整体相当于还没开始,但还是有收获
学习笔记:
1.Linux文件类型,第一个符号(-文件,d目录,l软链接文件)
2.chmod u+x 文件名赋予权限
chmod u=rwx 文件名,不用获取之前的权限,直接赋予权限
chmod 755 文件名
3.权限对文件的作用
r:读取文件内容,cat,more,head,tail
w:编辑,新增,修改文件内容(vi,echo),不包括删除文件
x:可执行
4.权限对目录的作用
r:可以查询目录下文件名(ls)
w:修改目录的权限,如新建,删除,重命名,剪切(touch,rm,mv,cp)
x:可以进入目录(cd)
5.对文件,最高权限是x;对目录,最高权限是w
6.MAC系统virtual box无法启动
Kernel driver not installed (rc=-1908)
Make sure the kernel module has been loaded successfully.
where: suplibOsInit what: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) - The
support driver is not installed. On linux, open returned ENOENT.
是由Mac系统升级导致的,需要卸载virtual box再重新安装,安装时需设置安全与隐私-通用
点击仍要打开,虚拟机就可以正常启动了。
7.112. 路径总和
给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。
叶子节点 是指没有子节点的节点。
输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum = 22
输出:true
解释:等于目标和的根节点到叶节点路径如上图所示。
解题思路:从上往下的递归,分别顺着左子树与右子树往下走,没经过一个节点,用target减去当前的值,直到叶子节点等于target,就找到了。
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode() {}
* TreeNode(int val) { this.val = val; }
* TreeNode(int val, TreeNode left, TreeNode right) {
* this.val = val;
* this.left = left;
* this.right = right;
* }
* }
*/
class Solution {
public boolean hasPathSum(TreeNode root, int targetSum) {
if(root == null){
return false;
}
if(root.left==null && root.right==null){
return root.val==targetSum;
}
return hasPathSum(root.left, targetSum-root.val) || hasPathSum(root.right, targetSum-root.val);
}
}
8.404. 左叶子之和
计算给定二叉树的所有左叶子之和。
3
/ |
9 20
/ |
15 7
在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24
解题思路:如果左节点为叶子节点,sum直接加上,否则加上对左节点进行递归找出左节点左叶子的和;如果右节点不为叶子节点,sum加上对右节点进行递归找出右节点左叶子的和
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode() {}
* TreeNode(int val) { this.val = val; }
* TreeNode(int val, TreeNode left, TreeNode right) {
* this.val = val;
* this.left = left;
* this.right = right;
* }
* }
*/
class Solution {
public int sumOfLeftLeaves(TreeNode root) {
if(root==null){
return 0;
}
else{
return sumOfL(root);
}
}
public int sumOfL(TreeNode root){
int s = 0;
if(root.left!=null){
s += isLeaf(root.left) ? root.left.val : sumOfL(root.left);
}
if(root.right!=null && !isLeaf(root.right)){
s += sumOfL(root.right);
}
return s;
}
public boolean isLeaf(TreeNode root){
if(root.left==null && root.right==null){
return true;
}
else{
return false;
}
}
}
明天继续配置centOS,明天继续更新。