root

给定一棵二叉树,设计一个算法,创建含有某一深度上所有结点的链表(比如:若一棵树的深度为D,则会创建出D个链表)

痞子三分冷 提交于 2020-03-01 08:31:59
解法:可以用任意的方式遍历整棵树,只要记住结点位于哪一层即可。 可用将前序遍历算法稍作修改,将level+1传入下一个递归调用。下面是使用深度优先搜索的实现代码。 void createlLinkedList(TreeNode root,ArrayList<LinkedList<TreeNode>> lists,int level) { if(root==null) return;//终止条件 LinkedList<TreeNode> list=null; if(lists.size()==level)//该层不在链表中 { list=new LinkedList<TreeNode>(); /*以先序遍历所有层级,因此,若这是第一次访问第i层,则表示我们已经访问过第0到 i-1层,因此,我们可以安全地将这一层加到链表末端 */ lists.add(list); } else { list=lists.get(level); } list.add(root); createLevelLinkedList(root.left,lists,level+1); createLevelLinkedList(root.right,lists.level+1); } ArrayList<LinkedList<TreeNode>> createLevelLinkedList(TreeNode

k8s例子---wordpress

蹲街弑〆低调 提交于 2020-03-01 08:27:55
[root@k8smaster wordpress]# pwd /root/k8s_yml/wordpress [root@k8smaster wordpress]# ls mysql-rc.yml mysql-svc.yml wordpress wordpress-rc.yml wordpress-svc.yml wordpress+数据库,两个服务,四个资源 [root@k8smaster wordpress]# cat mysql-rc.yml apiVersion: v1 kind: ReplicationController metadata: name: wordpress-db spec: replicas: 1 selector: app: wordpress-db template: metadata: labels: app: wordpress-db spec: containers: - name: wordpress-db image: 10.0.0.11:5000/mysql:5.7 ports: - containerPort: 3306 env: - name: MYSQL_ROOT_PASSWORD value: 'somewordpress' - name: MYSQL_DATABASE value: 'wordpress' - name:

437. 路径总和 III

℡╲_俬逩灬. 提交于 2020-03-01 07:33:33
给定一个二叉树,它的每个结点都存放着一个整数值。 找出路径和等于给定数值的路径总数。 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。 二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。 root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8 10 / \ 5 -3 / \ \ 3 2 11 / \ \ 3 -2 1 返回 3。和等于 8 的路径有: 1. 5 -> 3 2. 5 -> 2 -> 1 3. -3 -> 11 坑:1 if s==0 else 0 三目运算式不要放在return里 ,不然出问题,原因不明 1.双重递归 2.前缀和+递归 # Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution(object): def pathSum(self, root, sum): if not root: return 0 def f(t,s): if not t: return 0 s-=t

centos7 搭建 mysql8

被刻印的时光 ゝ 提交于 2020-03-01 06:32:14
记录centos搭建mysql遇到的坑 1. 直接用centos 的yum命令进行安装,发现找不到 mysql-server,于是下载 rpm文件进行后在进行安装,具体可参考官网 https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ 2. mysql服务端安装成功,并从本地启动后,登陆不上。 正常来说 mysql(8版本) 第一次 启动后,会在 /var/log/mysqld.log 记录一个 root 对应的临时密码 , 使用此密码通过 mysql -uroot -p"临时密码" 可登陆到mysql。 临时密码可以通过 grep 'temporary password' /var/log/mysqld.log 这个命令查看到 如果发现 /var/log/mysqld.log 文件为空或者无密码 。 可以在 /etc/my.cnf 文件的第二行插入 skip-grant-tables ,文件内容大致如下: [mysqld] #skip-grant-tables -- 这一行表示可以不输入密码直接登入 mysql #skip-networking -- 这一行表示本机运行,外部无法连接 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Disabling

环境变量

空扰寡人 提交于 2020-03-01 05:35:21
----------------------------------------------------------- 环境变量 -----------------------------------------------------------  “/bin”、“/sbin”、“/usr/bin”、“/usr/sbin”、“/usr/local/bin”等路径已经在系统环境变量中了,如果可执行文件在这几个标准位置,在终端命令行输入该软件可执行文件的文件名和参数(如果需要参数),回车即可。   如果不在标准位置,文件名前面需要加上完整的路径。不过每次都这样跑就太麻烦了,一个“一劳永逸”的办法是把这个路径加入环境变量。命令 “PATH=$PATH:路径”可以把这个路径加入环境变量,但是退出这个命令行就失效了。要想永久生效,需要把这行添加到环境变量文件里。有两个文件可选:“/etc/profile”和用户主目录下的“.bash_profile”(即~/.bash_profile),“/etc/profile”对系统里所有用户都有效,用户主目录下的“.bash_profile”只对这个用户有效。   “PATH=$PATH:路径1:路径2:...:路径n”,意思是可执行文件的路径包括原先设定的路径,也包括从“路径1”到“路径n”的所有路径。当用户输入一个一串字符并按回车后

嵌入式linux学习笔记二 ——linux嵌入式开发环境搭建笔记

南楼画角 提交于 2020-03-01 01:41:34
这两天学习总结一下 sudo: 为普通用户提升权限 sudo是 linux系统 管理指令,是允许 系统管理员 让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登录 和管理时间,同样也提高了安全性。sudo不是对shell的一个代替,它是面向每个命令的。 //============================================================================== Sudo passwd root 重置密码 su: 管理员权限切换 SU是( Switch user切换用户),可让一个普通用户切换为 超级用户 或其他用户,并可临时拥有所切换用户的 权限 ,切换时需输入欲切换用户的密码;也可以让超级用户切换为普通用户,临时以低权限身份处理事务,切换时无需输入欲切换用户的密码。 su - root 切换为root用户,需要输入密码,切换后环境变量改变,几乎可以不受限制的做任何事。 su - trunk 从root切换回普通用户,无需输入密码,切换后只拥有trunk权限。 //============================================================================ Sudo apt-get update /

TreeMap和TreeSet即Java中利用二叉搜索树实现的Map和Set

妖精的绣舞 提交于 2020-03-01 01:12:33
一:概念 二叉搜索树又称二叉排序树,它或者是一棵空树**,或者是具有以下性质的二叉树: 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 若它的右子树不为空,则右子树上所有节点的值都大于根节点的值 它的左右子树也分别为二叉搜索树。 二:操作——查找 先和根节点做对比,相等返回,如果不相等, 关键码key>根节点key,在右子树中找(root=root.rightChild) 关键码key<根节点key,在左子树中找(root=root.leftChild) 否则返回false 三:操作——插入 根据二叉排序树的性质,左孩子比根节点的值小,右孩子比根节点的值大。关键码key先于根节点key作比较,然后再判断与根节点的左或者右作比较,满足二叉排序树性质时,即为合理位置,然后插入。 四: 操作-删除(难点) 设待删除结点为 cur, 待删除结点的双亲结点为 parent 1. cur.left == null cur 是 root,则 root = cur.right cur 不是 root,cur 是 parent.left,则 parent.left = cur.right cur 不是 root,cur 是 parent.right,则 parent.right = cur.right 2. cur.right == null cur 是 root,则 root =

linux 定时计划任务设置

梦想的初衷 提交于 2020-02-29 21:55:39
安装 crontabs服务并设置开机自启 yum install crontabs systemctl enable crond (设为开机启动) systemctl start crond(启动crond服务) systemctl status crond (查看状态) 设置用户自定义定时任务 vi /etc/crontab 可以看到: Example of job definition: .---------------- minute (0 - 59) | .------------- hour (0 - 23) | | .---------- day of month (1 - 31) | | | .------- month (1 - 12) OR jan,feb,mar,apr ... | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat | | | | | * * * * * user-name command to be executed 即: 分钟(0-59) 小时(0-23) 日(1-31) 月(11-12) 星期(0-6,0表示周日) 用户名 要执行的命令 */30 * * * root /usr/local/mycommand.sh (每天

Python之tkinter的初步认识

家住魔仙堡 提交于 2020-02-29 21:04:23
文章目录 tkinter的简介 查看tkinter版本 建立窗口 窗口属性的设置 窗口位置的设置 tkinter的简介 GUI 英文全称是 Graphical User Interface ,中文为图形用户接口。早期人与计能的之间的沟通是文字形式的沟通,例如,早期的 DOS 操作系统、 Windows 的命令机分窗口、 Linux 系统,等等。 tkinter 是一个开放源码的图形接口开发工具,原来是用TCL(Tool Commana Language,工具命令语言)编写的GUI函数库,最初发展是从1991年开始,具有路平台的特性,可以在 Linux 、 Windows 、 Mac OS 等操作系统上执行。这个 tkinter 工具提供许多图形接口,例如, 标签(Label) 、 菜单(Menu) 、 按钮(Button) 等。 目前,这个 tkinter 工具已经移植到Python语言,属于 Python 语言内建的模块,在Python 2版本中该模块名称是 tkinter , 在Python 3版本中该模块被称为 tkinter 模块 。 在安装 Python 的时候,就同时安装了这个模块,使用前需导入 from tkinter import * 查看tkinter版本 import tkinter print ( tkinter . TkVersion ) 运行结果: 8.6

Linux中的重定向和管道

社会主义新天地 提交于 2020-02-29 19:46:15
重定向 标准输入、标准输出、标准错误,FD 简介 file descriptors ,FD,文件描述符 进程使用文件描述符来管理打开的文件 图示 FD是访问文件的标识,即链接文件 0是键盘只读, 1,2是终端可以理解是屏幕, 3+是文件,可读可写 实例: ps aux| grep vim(查看进程号) [root@localhost ~]# ll /proc/5606/fd(查询文本程序的FD) lrwx------. 1 root root 64 10月 10 07:37 0 -> /dev/pts/2(0是指的输入的) lrwx------. 1 root root 64 10月 10 07:37 1 -> /dev/pts/2(1是指的正确的输出) lrwx------. 1 root root 64 10月 10 07:37 2 -> /dev/pts/2(2指的错误的输出) lrwx------. 1 root root 64 10月 10 07:37 3 -> /root/.1.txt.swp(3或3+是指的其他的输出重定向) 输出从定向实例 输出重定向: [root@cyb ~]# date > date.txt(一个>覆盖) [root@cyb ~]# date >> date.txt (两个>是添加) 错误输出重定向 : [root@cyb ~]# ls