为了转行程序员而努力的第四十六天-二叉树,Linux,centOS配置java jdk

今天又提前醒了,其实昨天睡得挺晚的,但是还是很早就醒了,虽然现状一点点地变好,但还是会经常觉得有一种深深地无力感,坚持理想却不得不在现实的泥潭里挣扎,这个过程确实很艰难,但我相信再难都会过去的,总有一天眼前的困境会得到解决。
一整天都有点不在状态,打开电脑,学习了一些Linux的基本操作,因为环境配置只能下班之后回家做,所以进展缓慢,Java语言也学得差不多了,就是还需要实践经验了,恐怕现在的情况在公司只能刷题了,也许从明天开始可以跳出网课进度的限制,直接从前200题开始按顺序刷,然后把看视频学习的时间集中在中午午休的时候。
今日进度:
1.坚持听网课,坚持刷题,上班的空隙还是文档类的材料更方便学习,可以多找一点配置相关的文章看看,加深印象,但是配置还是必须跟着一步步走完,才能真正知道是怎么回事
2.坚持锻炼,可能要明早补上了
3.坚持早睡,自从需要回来才能开始配置,睡觉的时间都变晚了
4.坚持录小王子
5.坚持记录
学习笔记:
1.文件默认不能建立为执行文件,需手工赋予执行权限
2.umask查看默认权限
3.Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
4.Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
5.Linux系统启动流程
6.Linux 系统中是通过 ssh 服务实现的远程登录功能,默认 ssh 服务端口号为 22。
7.绝对路径:
路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。
相对路径:
路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd …/man
8.Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
9.基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。
10.Tomcat是一个Web容器,JavaEE程序可以在此运行
11.437. 路径总和 III
给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。
路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。
输入:root = [10,5,-3,3,2,null,11,3,-2,null,1], targetSum = 8
输出:3
解释:和等于 8 的路径有 3 条,如图所示。
解题思路:设置一个递归方法,传入root,寻找root的值与当前target相同的值,得到一条路径,再对root的左子树与右子树分别进行递归;再将root的左子树与右子树分别传入第一层递归方法,将得到的路径数加起来
/**
* 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 pathSum(TreeNode root, int targetSum) {
int res = 0;
if(root==null){
return 0;
}
res = findPath(root, targetSum);
res += pathSum(root.left, targetSum);
res += pathSum(root.right, targetSum);
return res;
}
public int findPath(TreeNode node, int targetSum){
int res = 0;
if(node==null){
return 0;
}
if(node.val==targetSum){
res += 1;
}
res += findPath(node.left, targetSum-node.val);
res += findPath(node.right, targetSum-node.val);
return res;
}
}
二叉树真的是写起来简单,想的时候百思不得其解,刷完之后,过几个小时,又忘记怎么写了。还算比较顺利吧,希望明天配置能加快速度。明天继续更新。




更多推荐
所有评论(0)