root

树的深度

拈花ヽ惹草 提交于 2020-02-07 22:00:38
有关深度的题: 104. 二叉树的最大深度 DFS递归: 时间复杂度:O(N) 空间复杂度:最坏O(N)(斜二叉树),最好O(logN)(完全二叉树) class Solution { public int maxDepth ( TreeNode root ) { return root == null ? 0 : Math . max ( maxDepth ( root . left ) , maxDepth ( root . right ) ) + 1 ; } } 111. 二叉树的最小深度 DFS递归 class Solution { public int minDepth ( TreeNode root ) { if ( root == null ) return 0 ; if ( ( root . left == null ) && ( root . right == null ) ) return 1 ; int min_depth = Integer . MAX_VALUE ; if ( root . left != null ) min_depth = Math . min ( minDepth ( root . left ) , min_depth ) ; if ( root . right != null ) min_depth = Math . min (

五分钟9步搞定nginx正向代理配置方法

我只是一个虾纸丫 提交于 2020-02-07 17:31:43
nginx在绝大数的场景中我们使用其用于做web中间件或反向代理使用,但是nginx实际上也提供了正向代理的功能。下面我们来进行nginx正向代理配置操作,以便大家能够掌握nginx正向代理配置方法。 第一步:获取nginx正向代理模块 # git clone https://github.com/chobits/ngx_http_proxy_connect_module 第二步:下载nginx源码包 # wget http://nginx.org/download/nginx-1.9.12.tar.gz # tar xf nginx-1.9.12.tar.gz 第三步:通过补丁方法把上述下载的正向代理模块导入到nginx模块存储目录 # cd nginx-1.9.12/ # patch -p1 < /root/ngx_http_proxy_connect_module/patch/proxy_connect.patch 第四步:编译安装nginx # yum -y install openssl-devel zlib-devel prce-devel # ./configure --add-dynamic-module=/root/ngx_http_proxy_connect_module # make && make install 第五步:配置所允许通过代理主机的主机列表 #

Leetcode 验证二叉搜索树

倖福魔咒の 提交于 2020-02-07 07:08:41
给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 示例 1: 输入: 2 / \ 1 3 输出: true 示例 2: 输入: 5 / \ 1 4 / \ 3 6 输出: false 解释: 输入为: [5,1,4,null,null,3,6]。 根节点的值为 5 ,但是其右子节点值为 4 。这道题我想的解答方案是错误的,后来参考了别人的 # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Solution: def isValidBST(self, root): """ :type root: TreeNode :rtype: bool """ def test(root): l=[] if not root: return [] l+=test(root.left) # 类似于中序遍历 l.append(root.val) l+=test(root.right) return l res=test

Leetcode: 验证二叉树

随声附和 提交于 2020-02-07 07:06:12
# 验证二叉搜索树 给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 示例 1: 输入: 2 / \ 1 3 输出: true 示例 2: 输入: 5 / \ 1 4 / \ 3 6 输出: false 解释: 输入为: [5,1,4,null,null,3,6]。 根节点的值为 5 ,但是其右子节点值为 4 。 解题思路,中序遍历后,查看是否为有序的。 Python # 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 isValidBST(self, root): """ :type root: TreeNode :rtype: bool """ stack = [] result = [] while True: while(root): stack.append(root) root = root.left if len(stack) ==

linux存储管理之基本分区

半城伤御伤魂 提交于 2020-02-07 06:44:34
基本分区管理 ==================================================================================== 基本分区(MBR|GPT) ----> Filesystem ----> mount 逻辑卷 ----> Filesystem ----> mount [root@server0 ~]# ll /dev/vd* brw-rw----. 1 root disk 253, 0 11月 30 15:02 /dev/vda brw-rw----. 1 root disk 253, 1 11月 30 15:02 /dev/vda1 brw-rw----. 1 root disk 253, 16 11月 30 15:02 /dev/vdb brw-rw----. 1 root disk 252, 32 11月 30 15:02 /dev/vdc [root@server0 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 10G 0 disk └─vda1 253:1 0 10G 0 part / vdb 253:16 0 10G 0 disk vdc 252:32 0 8G 0 disk ====fdisk==== MBR 4个分区

运行MapReduce任务

微笑、不失礼 提交于 2020-02-06 23:47:26
1:运行MapReduce任务 1 :原始数据准备 统计用户的登录次数: 源数据login_log.txt如下: 7whygb5m@linshiyouxiang.net nuahvuhuoia@qq.com uashkufawuk@163.com wafwqfqw@gmail.com iuhukawhfuk@sina.com wfkwbfkuw@tom.com iuqwhfuihuqiw@yahoo.com hiuwqhuiryquiw545@yahoo.com uiwqyiuyr7qwrqa@sohu.com … 2 :应用程序准备 集群目录: $HADOOP_HOME/share/hadoop/mapreduce/中找到程序包: hadoop-mapreduce-examples-2.6.4.jar 该程序包提供了一些测试模块: wordcount //对输入文件中的单词进行词频统计 pi //估算圆周率pi的值 wordmean //计算输入文件中单词的平均长度 3 :提交任务指令解析 hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.4.jar wordcount /user/root/login_log.txt /user/root/output 说明:

kubernetes(八)--Helm及其它功能组件

↘锁芯ラ 提交于 2020-02-06 16:10:21
一、Helm 1.1、什么是Helm 在没使用 helm 之前,向 kubernetes 部署应用,我们要依次部署 deployment、svc 等,步骤较繁琐。况且随着很多项目微服务化,复杂的应用在容器中部署以及管理显得较为复杂,helm 通过打包的方式,支持发布的版本管理和控制,很大程度上简化了 Kubernetes 应用的部署和管理 Helm 本质就是让 K8s 的应用管理(Deployment,Service 等 ) 可配置,能动态生成。通过动态生成 K8s 资源清单文件(deployment.yaml,service.yaml)。然后调用 Kubectl 自动执行 K8s 资源部署 Helm 是官方提供的类似于 YUM 的包管理器,是部署环境的流程封装。Helm 有两个重要的概念:chart 和release chart :是创建一个应用的信息集合,包括各种 Kubernetes 对象的配置模板、参数定义、依赖关系、文档说明等。chart 是应用部署的自包含逻辑单元。可以将 chart 想象成 apt、yum 中的软件安装包 release :是 chart 的运行实例,代表了一个正在运行的应用。当 chart 被安装到 Kubernetes 集群,就生成一个 release。chart 能够多次安装到同一个集群,每次安装都是一个 release Helm 包含两个组件

深入理解 Vue 组件

萝らか妹 提交于 2020-02-06 15:51:13
深入理解 Vue 组件 组件使用中的细节点 使用 is 属性,解决组件使用中的bug问题 1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 8 <title>组件使用中的细节点</title> 9 <script src="./vue.js"></script> 10 </head> 11 12 <body> 13 <div id="root"> 14 <table> 15 <tbody> 16 <!-- H5编码规范要求,tbody内必须是tr,因此row组件不能用,会产生bug, 17 因此 is 关键字起到了很好的作用,将此时的 tr 标签等于我们创建的 row 子组件。 18 完美解决了既要使用组件永不会影响H5编码规范的问题 19 不仅仅是table标签,ul ol select 标签都有相同的问题。--> 20 <tr is="row"></tr> 21 <tr is="row"></tr> 22 <tr is="row"

实验项目( 一 ) 实验报告

假装没事ソ 提交于 2020-02-06 13:43:54
实验项目( 一 ) 实验报告 项目 名称 文件系统和用户管理基本命令操作实验 指导教师 实验 地点 实验日期 实验 目的 通过本次实验,可以对文件系统的基本操作以及用户和组的管理命令进行充分的练习。同时,通过提升模块的练习,可以锻炼学生对所学知识的综合应用。 实验 过程 说明:此处按照 【实验内容】 所描述的各个问题来回答。 l 基础模块 1) 在当前目录下建立文件exam.c,将文件exam.c拷贝到/tmp这个目录下,并改名为 shiyan.c。 2) 在任何目录下回到用户主目录。 3) 打印当前目录(隐藏文件也显示)。 4) 在当前目录中新建文件text并设置文件的属性为文件属主(u)增加执行权限与文件属主同组用户(g)增加写权限其他用户(o) 删除读权限。 5) 创建用户xu和liu并将/home/xu目录中的所有文件拷贝到目录/home/liu中。 cp -r /home/xu/* /home/liu 6) 用长格式列出/home目录下所有的文件包括隐藏文件。 ll –la /home 7) 在当前目录中创建目录aaa,并把该目录的权限设置为只有文件主有读、写和执行权限。 8) 建立一个新用户user2并把它加入到root组中,设置user2的密码为:1 useradd -g root user2 passwd user2 9) 建立文件 file1.txt 并更名为

Linux git(9)----从远程库克隆

随声附和 提交于 2020-02-06 10:47:24
用到的新命令 1.git clone:克隆一个本地库 从远程库克隆,HTTPS克隆 1.在github上新创建一个仓库名为gitskills 2.用命令git clone克隆一个本地库,其中git clone后面的地址可以从图1中标记位置找到 [root@VM_0_11_centos learn_git]# git clone https://github.com/TQ5911/gitskills.git Cloning into 'gitskills'... Username for 'https://github.com': TQ5911 Password for 'https://TQ5911@github.com': remote: Enumerating objects: 3, done. remote: Counting objects: 100% (3/3), done. remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), done. 3.查看库情况,gitskills已经从github上远程克隆过来了 [root@VM_0_11_centos learn_git]# ls gitskills LICENSE readme.txt