今天在配置上花的时间太多,主要怕进行到一半,明天就要从头开始,以至于都没有太多时间总结了,锻炼的时间也被挤掉了,争取明天早起来补上。就不多感慨了,直接进入正题。
今日进度: 1.坚持刷题,坚持听网课,感觉二叉树也是必重刷的,就算是刚做完的题,过几个小时再看,就不知道该怎么做了 2.坚持锻炼,明天早起补上 3.坚持早睡 4.坚持记录
学习笔记: Java: 1.Java面向对象设计 - Java导入,导入声明用于将任何类型导入编译单元。导入声明出现在包声明之后,第一个类型声明之前。有两种类型的导入声明:单类型导入声明,按需导入声明 单类型导入声明 import com.w3cschool.Dog; // Import the Dog class 按需导入声明 import com.w3cschool.*;
2.系统是java.lang包中的一个类,它有一个名为out的静态变量。 当你使用System.out时,我们指的是System类中的静态变量。 我们可以使用静态导入声明从System类导入out静态变量,如下所示:
import static java.lang.System.out;
3.Java 中为解决变量的命名冲突和不确定性问题,引入关键字 this 代表其所在方法的当前对象的引用:构造方法中指该构造器所创建的新对象;方法中指调用该方法的对象;在类本身的方法或构造器中引用该类的实例变量(全局变量)和方法。 this 只能用在构造器或者方法中,用于获得调用当前的构造器方法的对象引用。可以和任何的对象引用一样来处理这个this对象。 Linux: 1.Linux系统中文件或目录的属性 第一列:inode索引节点 第二列:文件类型及权限 第三列:硬链接个数 第四列:文件或目录所属的用户(属主) 第五列:文件或目录所属的用户所归属的组; 第六列:文件或目录的大小; 第七列、八、九列:文件或目录的修改时间 第十列:实际的文件名或目录名
[root@localhost oldboy]# ls -lhi oldboy
810407 -rw-r--r-- 1 root root 12 May 1 05:05 oldboy
Inode索引节点编号:810407 文件类型:文件类型是-,表示这是一个普通文件; 文件权限:文件权限是rw-r–r--,表示文件属主可读可写;文件所属的用户组可读;其他用户可读; 硬链接个数:表示oldboy这个文件没有其他的硬链接;因为链接数是1,就是他本身; 文件属主:这个文件所属的用户,这里意思是oldboy文件被root拥有,是第一个root; 文件属组:这个文件所属的用户组,在这里是root用户组,是第二个root; 文件大小:文件大小是12个字节; 文件修改时间:这里的时间是该文件的最后被更新(包括文件创建、内容更新、文件名更新等),可用如下命令查看文件的修改,访问,创建的时间。
2.inode值相同的文件,可以把他们的关系看作互为硬链接的关系。当我们修改其中一个文件的内容时,互为硬链接的文件的内容也会跟着变化。
3.Linux文件或目录的权限位是9个权限位来控制,每三位为一组,他们分别是文件属主(Owner)的读写执行,用户组(group)的读写执行以及(Other)其他用户的读写执行。
4.Linux常用命令 可用 pwd命令查看用户的当前目录 可用 cd 命令来切换目录 .表示当前目录 … 表示当前目录的上一级目录(父目录) -表示用 cd 命令切换目录前所在的目录 ~ 表示用户主目录的绝对路径名 ls:显示文件或目录信息 mkdir:当前目录下创建一个空目录 rmdir:要求目录为空 touch:生成一个空文件或更改文件的时间 cp:复制文件或目录 mv:移动文件或目录、文件或目录改名 rm:删除文件或目录 ln:建立链接文件 find:查找文件 file/stat:查看文件类型或文件属性信息 cat:查看文本文件内容 more:可以分页看 less:不仅可以分页,还可以方便地搜索,回翻等操作 tail -10: 查看文件的尾部的10行 head -20:查看文件的头部20行 echo:把内容重定向到指定的文件中 ,有则打开,无则创建 管道命令 | :将前面的结果给后面的命令,重定向 > 是覆盖模式,>> 是追加模式,把左边的输出放到右边的文件里去 stat 显示指定文件的详细信息,比ls更详细 who 显示在线登陆用户 whoami 显示当前操作用户 hostname 显示主机名 uname 显示系统信息 top 动态显示当前耗费资源最多进程信息 ps 显示瞬间进程状态 ps -aux du 查看目录大小 du -h /home带有单位显示目录信息 df 查看磁盘大小 df -h 带有单位显示磁盘信息 ifconfig 查看网络情况 ping 测试网络连通 netstat 显示网络状态信息 man 用户帮助手册,clear 清屏 alias 对命令重命名 如:alias showmeit=“ps -aux” ,另外解除使用unaliax showmeit kill 杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。
5.chown改变所有者,chown 用户名 文件名;chgrp 组名 文件名 刷题: 1.257. 二叉树的所有路径 给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。
输入:root = [1,2,3,null,5] 输出:[“1->2->5”,“1->3”]
解题思路:使用递归分别找出左子树和右子树的所有路径,存在list里,再将当前的root值使用"->"与list中的所有路径相连。
class Solution {
public List<String> binaryTreePaths(TreeNode root) {
List<String> res = new ArrayList<String>();
if(root==null){
return res;
}
if(root.left==null && root.right==null){
res.add(String.valueOf(root.val));
return res;
}
List<String> leftS = binaryTreePaths(root.left);
for(int i=0; i<leftS.size(); i++){
res.add(root.val+"->"+leftS.get(i));
}
List<String> rightS = binaryTreePaths(root.right);
for(int i=0; i<rightS.size(); i++){
res.add(root.val+"->"+rightS.get(i));
}
return res;
}
}
2.113. 路径总和 II 给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。
输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22 输出:[[5,4,11,2],[5,8,4,5]] 提示: 树中节点总数在范围 [0, 5000] 内 -1000 <= Node.val <= 1000 -1000 <= targetSum <= 1000
解题思路:使用一个deque将路径存储起来,每经过一个节点,就用sumtarget的值减去当前节点的值,如果suntarget等于0,说明找到了目标路径,将该路径加入返回list。查找完一条路径之后,将deque里的最后一个元素弹出,返回上个节点继续查找新的路径。注意deque的push与pop是从开头插入和从开头取出,所以这里使用了offerLast和pollLast。
class Solution {
List<List<Integer>> res = new LinkedList<List<Integer>>();
Deque<Integer> path = new LinkedList<Integer>();
public List<List<Integer>> pathSum(TreeNode root, int targetSum) {
dfs(root, targetSum);
return res;
}
public void dfs(TreeNode root, int targetSum){
if(root==null){
return;
}
path.offerLast(root.val);
targetSum -= root.val;
if(root.left==null && root.right==null && targetSum==0){
res.add(new LinkedList<Integer>(path));
}
dfs(root.left, targetSum);
dfs(root.right, targetSum);
path.pollLast();
}
}
环境配置: 1.centOS无法连接到互联网,解决方法: (1)以root登录cent OS (2)运行vi /etc/sysconfig/network-scripts/ifcfg-eth0,修改文件内容 (3)BOOTPROTO=dhcp, ONBOOT=yes (4)service network restart重启网络 (5)可以ping www.baidu.com或者浏览器打开百度检验
2.centOS与MACping不通: (1)关闭虚拟机,在虚拟机设置网卡二为桥接网卡 (2)在centOS里使用ifconfig查找IP地址,注意与主机相连的地址为eth1的IP地址 (3)主机使用ssh 用户名@IP地址,输入密码,即可远程登录centOS 3.阿里云源配置yum makecache报错 解决办法,原地址失效,需更改地址,参考了一篇博文
cd /etc/yum.repos.d rm -rf * wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-6.repo sed -i ‘s/$releasever/7/’ /etc/yum.repos.d/CentOS-Base.repo sed -i ‘s#$basearch#x86_64#g’ /etc/yum.repos.d/CentOS-Base.repo yum clean all && yum makecache 原文链接:https://blog.csdn.net/qq_31991629/article/details/110658110
总算是把配置的第一步完成了,后面还有一些选看的配置,明天终于可以开始看了,二叉树的递归方法也是,思考的难度还是比较大的,但也不要太紧张,以放松的心情去享受它吧。明天继续更新。
|