【Offer】[68] 【树中两个结点的最低公共祖先】

题目描述 思路分析 测试用例 Java代码 代码链接 题目描述   输入两个树结点,求它们的最低公共祖先。 [牛客网刷题地址]无 思路分析   该题首先要确定是否为二叉树,还要确定是否为二叉搜索树,是否有父指针,或者仅仅是普通二叉树。 树为二叉搜索树时,最低公共祖先结点的大小在两个树结点大小的中间。 树为普通树时,使用遍历将子结点的信息往上传递。在左右子树中进行查找是否存在两个树结点,如果两个树结点分别在左右子树上,说明该根结点就是它们的最低公共祖先。 测试用例 功能测试:普通树,左斜树,右斜
分类: 其他 发布时间: 09-02 22:48 阅读次数: 0

Day27-反射和内置方法

我再也不想打气和每日金句了,我要吐了。 断点的使用 你用鼠标左键,去点代码的前面,也就是行数的后面,就会出现一个红点,大红点。 然后运行debug,程序运行到这一行的时候,就会卡主,然后你就可以点下一步下一步,一步一步看了。很好用,贼好用,炸 弹好用。 issubclass和isinstance的使用 这个也很简单。 issubclass的作用就是,判断一个类是不是另一个类的子类。具体用法如下 class Foo: pass class Bar(Foo): pass clas
分类: 其他 发布时间: 09-02 22:48 阅读次数: 0

Linux文件权限赋值

chmod:赋予文件权限(change mode) 文件权限分三种:r(read读)w(write写)x(execute执行)    chmod abc:文件所有者拥有a权限、文件所在群组的其他用户具有b权限、其他用户具有c权限     - chmod 736 fileA:           7(r+w+x)文件所有者对fileA拥有  可读可写可执行  权限           3(_+w+x)文件所在群组的其他用户对fileA拥有  可写可执行  权限           6(r+w+_
分类: 其他 发布时间: 09-02 22:48 阅读次数: 0

PHP应对并发,MySQL数据库防止数据不一致

分析: PHP本身是单线程语言,所以在应对并发的程序语言层面上面没有比较好的解决方案,不过可以借助其他设计来实现,例如基于MySQL的Innodb引擎下数据库本身的行锁实现,或者依靠Redis等队列存储来实现。这里来讲解一下基于MySQL的行锁的实现方式。 注意: 只有基于Innodb的引擎才支持数据库事务行锁,如果在实际操作过程中,执行不成功,请检查表引擎是否正确。另外行锁依靠数据事务提交而提交。 程序代码: $conn = mysql_connect('127.0.0.1', 'root'
分类: 其他 发布时间: 09-02 22:48 阅读次数: 0

Stream数据流

一.Stream数据流   从JDK1.8开始,由于已经进入到了大数据的时代,所以在类集里面也支持有数据的分析处理操作(数据的流式分析处理操作),为此就专门提供了一个Stream的接口,同时在Collection接口里面也提供有为此接口实例化的方法:   并行流式分析:default Stream<E> parallelStream()  多个线程共同参与分析   单一线程分析: default Stream<E> stream() --Stream接口的基础操作   Stream的主要功能是
分类: 其他 发布时间: 09-02 22:48 阅读次数: 0

PHP正则判断字符串是否全是中文

<?php /** *判断字符串是否全是中文 */ function isAllChinese($str){ if(preg_match('/^[\x7f-\xff]+$/', $str)){ return true;//全是中文 }else{ return false;//不全是中文 } } var_dump(isAllChinese('你好')); ?> 来自微信公众号:编程社 程序员日常进阶宝
分类: 其他 发布时间: 09-02 22:48 阅读次数: 0

free -m 内存

查看内存及交换swap分区大小及使用率 man free NAME free - Display amount of free and used memory in the system SYNOPSIS free [-b | -k | -m] [-o] [-s delay ] [-t] [-l] [-V] DESCRIPTION free displays the total amount of free and used ph
分类: 其他 发布时间: 09-02 22:48 阅读次数: 0

cartographer源码详细解读(1)——整体框架介绍

1. Cartographer理论概述 Cartographer主要理论是通过闭环检测来消除构图过程中产生的累积误差[1]。用于闭环检测的基本单元是submap。一个submap是由一定数量的laser scan构成。将一个laser scan插入其对应的submap时,会基于submap已有的laser scan及其它传感器数据估计其在该submap中的最佳位置。submap的创建在短时间内的误差累积被认为是足够小的。然而随着时间推移,越来越多的submap被创建后,submap间的误差累积
分类: 其他 发布时间: 09-02 22:48 阅读次数: 0

作用域问题

1、   var a=123;   function fun(){     alert(a)  //123    }   fun() 2、   var a=123;   function fun(){     alert(a);  //undefined,作用域:此时的a应该访问函数内声明的a,但是变量声明分两步:变量创建+变量初始化(初始化为undefined).然后才是赋值。因此,此处             输出undefined(这里面也有个变量提升的问题在里面)     var a=
分类: 其他 发布时间: 09-02 22:48 阅读次数: 0

PHP压缩裁剪图片实例

/** * @param $srcImage 原图片路径 * @param $toFile 裁剪后图片路径 * @param int $maxWidth 裁剪最大的宽度 * @param int $maxHeight 裁剪后最大的高度 * @param int $imgQuality 图片的质量 * @return bool|string|void */ function resize($srcImage,$toFile,$maxWidth = 640,
分类: 其他 发布时间: 09-02 22:48 阅读次数: 0

剑指Offer-重构二叉树

题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 public class Solution { class TreeNode { int val; TreeNode left; TreeNode right;
分类: 其他 发布时间: 09-02 22:48 阅读次数: 0

Misplaced alignment tab character &

范例: 期望的标题效果:Literature review & Research set-up 在Latex里写的标题:\section{Literature Review & Research Set-up} 运行后报错: Misplaced alignment tab character & 原因: This error appears when the alignment character '&' is used incorrectly. The alignment character
分类: 其他 发布时间: 09-02 22:48 阅读次数: 0

API接口之安全篇

APP、前后端分离项目都采用API接口形式与服务器进行数据通信,传输的数据被偷窥、被抓包、被伪造时有发生,那么如何设计一套比较安全的API接口方案呢? 一般的解决方案如下: 1、Token授权认证,防止未授权用户获取数据; 2、时间戳超时机制; 3、URL签名,防止请求参数被篡改; 4、防重放,防止接口被第二次请求,防采集; 5、采用HTTPS通信协议,防止数据明文传输; 一、Token授权认证 HTTP协议是无状态的,一次请求结束,连接断开,下次服务器再收到请求,它就不知道这个请求是哪个用户
分类: 其他 发布时间: 09-02 22:48 阅读次数: 0

#(树形动规)洛谷P3174 [HAOI2009]毛毛虫(省选/NOi-)

题目描述 对于一棵树,我们可以将某条链和与该链相连的边抽出来,看上去就象成一个毛毛虫,点数越多,毛毛虫就越大。例如下图左边的树(图 1 )抽出一部分就变成了右边的一个毛毛虫了(图 2 )。 输入格式 在文本文件 worm.in 中第一行两个整数 N , M ,分别表示树中结点个数和树的边数。 接下来 M 行,每行两个整数 a, b 表示点 a 和点 b 有边连接( a, b ≤ N )。你可以假定没有一对相同的 (a, b) 会出现一次以上。 输出格式 在文本文件 worm.out 中写入一个
分类: 其他 发布时间: 09-02 22:48 阅读次数: 0

软考.起航篇

规划 1.书籍 2.
分类: 其他 发布时间: 09-02 22:48 阅读次数: 0

Js获取当前的日期和时间

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>获取当前时间</title> </head> <body> <script type="text/javascript"> /** *获取当前时间 *format=1精确到天 *format=2精确到分 */ function getCurrentDate(f
分类: 其他 发布时间: 09-02 22:48 阅读次数: 0

我走过山的时候,山不说话;我路过海的时候,海不说话。

  少年,今天你又迷茫了么?   谁的青春不迷茫,来份鸡汤,继续干https://www.iqiyi.com/v_19rrmahm5k.html(马云和他的少年阿里)。
分类: 其他 发布时间: 09-02 22:48 阅读次数: 0

Linux操作系统及调用接口

Linux操作系统包含以下各子系统: 系统调用子系统:操作系统的功能调用同一入口; 进程管理子系统:对执行程序进行生命周期和资源管理; 内存管理子系统:对系统的内存进行管理、分配、回收、隔离; 文件子系统 :系统内部一切皆文件,对文件进行管理; 设备子系统 :对输入、输出设备进行管理; 网络子系统 :负责对外交流,网络协议栈和收发网络包。 内核结构图如下: 1.虚拟文件系统VFS   位于用户空间和内核具体文件系统之间,是各种具体的文件系统提取出来的抽象层,为用户提供标准的文件系统调用接口。对
分类: 其他 发布时间: 09-02 22:48 阅读次数: 0

Redis的初识

简介   已经有了Membercache和各种数据库,Redis为什么会产生?Redis纯粹为应用而产生,它是一个高性能的key-value数据库。Redis的出现,很大程序补偿了Memcached这类key-value存储的不足,解决了断电后数据库完全丢失的情况;在部分场合可以对关系数据库起到很好的补偿作用。性能测试结果表示SET操作每秒钟可达110000,GET操作每秒81000次(当然不同的服务器配置性能不同)。   Redis是一种面向"键-值"对类型数据的分布式NoSQL数据库系统,
分类: 其他 发布时间: 09-02 22:48 阅读次数: 0

Linux Ctrl+ 所有的快捷键

Ctrl+a;光标移到行首 Ctrl+b;光标向前移一格 Ctrl+c;结束命令 Ctrl+d;删除光标所在字符 Ctrl+e;光标移到行尾 Ctrl+f;光标向后移一格 Ctrl+g; Ctrl+h;删除光标前一格 Ctrl+i; Ctrl+j;直接跳过当前命令 Ctrl+k;删除光标后面的。 Ctrl+l;清屏 Ctrl+m;回车 Ctrl+n; Ctrl+o;重复上一条命令 Ctrl+p;命令往回返 Ctrl+q; Ctrl+r; Ctrl+s; Ctrl+t;光标前的字母随光标往后移动
分类: 其他 发布时间: 09-02 22:48 阅读次数: 0