【leetcode 968. 监控二叉树】解题报告[待完善...]

方法一:递归 // 0:该节点安装了监视器 1:该节点可观,但没有安装监视器 2:该节点不可观 int monitor = 0; int state(TreeNode* node) { if (node == nullptr) return 1; int left = state(node->left); int right = state(node->right); // 该节点为
分类: 其他 发布时间: 05-01 23:51 阅读次数: 0

Django 连接 Mysql (8.0.16) 失败

首先,确认数据库配置正确无误: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # or use: mysql.connector.django 'NAME': 'TestDB', 'USER': 'Guest', 'PASSWORD': 'admin', 'HOST': '192.168.218.199',
分类: 其他 发布时间: 05-01 23:51 阅读次数: 0

优雅的查看json文件

前面 jq是一个轻量级但是贼灵活的命令行json处理器.jq在json数据处理中很有用就像用awk处理文本一样。jq最简单的应用应该是解析json文件格式化输出数据吧。有些网站如:json.cn 就是用来在线解析json以一个友好的格式返回给用户查看。解析网站对于简单的json数据使用较为良好,不过对于比较的大的文件就不行了。毕竟你打要开json文件,然后复制到网站上,如果文件太大,还可能卡顿一下。不过jq很强大,你可以设置各种命令,返回你想要的结果。本文简单讲解下jq比较常用的操作。 安装
分类: 其他 发布时间: 05-01 23:51 阅读次数: 0

Webpack & The Hot Module Replacement热模块替换原理解析

Webpack & The Hot Module Replacement热模块替换原理解析 The Hot Module Replacement(HMR)俗称热模块替换。主要用来当代码产生变化后,可以在不刷新游览器的情况下对局部代码块进行替换更新。这在很多情况下都很有用,例如在处理弹出框时,使用HMR可以及时的看到变化,如果用刷新游览器的方式会回到初始页面。 很多人使用过HMR却不知道它是如何工作的,这里会对HMR实现原理进行解析。 关于HMR需要知道的一些事 HMR是Webpack的一个可选
分类: 其他 发布时间: 05-01 23:51 阅读次数: 0

励志成为优产的母猪--------猜数游戏 ,历史记录,pickle保存,队列deque

# pickle 可以处理复杂的序列化语法。(例如自定义的类的方法,游戏的存档等),存档以文件的形式保存 参见 https://www.cnblogs.com/abobo/p/8080447.html # collections是Python内建的一个集合模块,提供了许多有用的集合类。参见 https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001411031239400f7
分类: 其他 发布时间: 05-01 23:51 阅读次数: 0

[一些光点]

如果学校网络验证的依据是IP地址,那我挨个切换我的IP地址 只要找到一个能联通的一个 是不是就可以用别人的账号上网了?
分类: 其他 发布时间: 05-01 23:51 阅读次数: 0

交互式报告系统 Dr. Tom

华大科技服务开发一套优秀的交互式结题报告系统,适用于没有代码基础的老师分析自己的数据。 http://report.bgi.com/ps/login/login.html 体验之后再做评价!
分类: 其他 发布时间: 05-01 23:51 阅读次数: 0

StringBuilder原理

1、StringBuilder和StringBuffer区别 其实StringBuilder和StringBuffer用法都是一样,几乎没啥区别,我比较常用StringBuilder。 但是说它们之间到底有没有区别,那肯定是有的。 StringBuffer的大多数方法都是用synchronized 修饰的,所以StringBuffer是线程安全的,但是就因为它被修饰了,所以StringBuffer的效率也是比StringBuilder底的。 2、要研究一下StringBuilder的原理就要先
分类: 其他 发布时间: 05-01 23:51 阅读次数: 0

Java中数组复制基本用法和效率对比

java语言提供了很多的方法来对数组进行复制。 其中我们常用的方法有三种:arraycopy(),copyOf()和copyOfRange()。 一、基本用法 1. arraycopy()方法 函数原型: arraycopy(Object src, int srcPos, Object dest, int destPos, int length) src: 原数组 srcPos:原数组起始的位置 dest:目的数组 destPos:目的数组的起始位置 length:所需复制数组的长度 需要注意
分类: 其他 发布时间: 05-01 23:51 阅读次数: 0

System.arraycopy()方法到Arrays 的copyOf()方法

Arrays 的copyOf() - JDK 6 数组的复制,我们可以使用System.arraycopy()方法来进行数组复制: int[] arr1 = {1, 2, 3, 4, 5}; int[] arr2 = new int[5]; System.arraycopy(arr1, 0, arr2, 0, arr1.length); 这个方式必须明确自行新建立一个数组对象。在JDK 6中,Arrays 类别新增了copyOf()方法,可以直接传回一个新的数组对象,而当中包括复制的内容
分类: 其他 发布时间: 05-01 23:50 阅读次数: 0

基于角色的权限控制 RBAC与其各种子类型

摘录自地址 1.1RBAC0模型 最简单的用户、角色、权限模型。这里面又包含了2种: 用户和角色是多对一关系,即:一个用户只充当一种角色,一种角色可以有多个用户担当。 用户和角色是多对多关系,即:一个用户可同时充当多种角色,一种角色可以有多个用户担当。 那么,什么时候该使用多对一的权限体系,什么时候又该使用多对多的权限体系呢? 如果系统功能比较单一,使用人员较少,岗位权限相对清晰且确保不会出现兼岗的情况,此时可以考虑用多对一的权限体系。其余情况尽量使用多对多的权限体系,保证系统的可扩展性。如:
分类: 其他 发布时间: 05-01 23:50 阅读次数: 0

grails gsp标签

Grails是使用groovy编写的web框架 gsp标签就是grails
分类: 其他 发布时间: 05-01 23:50 阅读次数: 0

ini与properties

.properties 和 INI .properties 主要用在 JAVA 程序中,JAVA 内置对它的解析。它是一种简单的配置文件格式,规则大概只有下面几条: 键值对的表示方式 键=值 属性名称和属性值之间出现的空格将被忽略, 因此 name=Stephen 与 name = Stephen 是等效的 单引号和双引号会作为值的一部分; 允许在一行的开头 使用 # 或者 ! 作为注释; 可以使用 \ 作为转义符,用来转义空格、换行和 Unicode 编码 反斜杠必须写作\\ path=c:
分类: 其他 发布时间: 05-01 23:49 阅读次数: 0

classpath 指向哪里

全文 仅针对 idea的maven项目 我觉得 classpath在 source 路径中指的是target/classes 而classpath 在test source 路径中指的是target/test-classes 点开上面的文件夹,就可以看见配置文件,这也是为什么要加classpath才能找到,否则会在classes中的class文件同级找 参考: https://blog.csdn.net/qq_33393542/article/details/80322141
分类: 其他 发布时间: 05-01 23:49 阅读次数: 0

浅克隆和深克隆

1浅克隆(shallow copy)是通过调用Object的clone方法,创建出和原对象 结构相同的新对象。 浅克隆 和深克隆(deep copy)不同,如果被拷贝的对象属性为可变类,则直接复制该引用对象的地址。 这会导致,浅克隆出来的对象 如果改变 可变类属性值,则原对象的可变类属性值也会一起变。换句话说,如果属性值String、Integer等不可变类,则并不会一同改变 2调用 Object的clone方法,必须实现Cloneable ,否则会抛出 CloneNotSupportedEx
分类: 其他 发布时间: 05-01 23:49 阅读次数: 0

String替换字符

http://vence.github.io/2016/04/29/javamethod-messageformat/
分类: 其他 发布时间: 05-01 23:49 阅读次数: 0

idea jsp页面报错( 无法理解$,或者jquery click函数报错)

Settings | Languages & Frameworks | JavaScript | Libraries, 点击Download 然后从列表中选择jquery 点击下载 idea 报错 可以在library中添加 jquery 如果没有用,就将click函数 改成 on(click ,function(){ })
分类: 其他 发布时间: 05-01 23:48 阅读次数: 0

ideaURI Is Not Registered

解决方法: 鼠标点击红色字,然后Intellij出现小红灯,选择Fetch external resource即可解决 如果fetch 失败,可以浏览器登录这个url,看能否登录成功和查看其中的内容
分类: 其他 发布时间: 05-01 23:48 阅读次数: 0

portable version

Git下载 页面中 发现有个windows portable version 搜了一下发现 portable version 有这几个特点 Defining features There is no exact specification of what a portable application is, but the following list contain the properties that are usually assumed when talking about port
分类: 其他 发布时间: 05-01 23:48 阅读次数: 0

Ehcache与redis

这是引用 ehcache直接在jvm虚拟机中缓存,速度快,效率高;但是缓存共享麻烦,集群分布式应用不方便。 redis是通过socket访问到缓存服务,效率比ecache低,比数据库要快很多,处理集群和分布式缓存方便,有成熟的方案。 如果是单个应用或者对缓存访问要求很高的应用,用ehcache。 如果是大型系统,存在缓存共享、分布式部署、缓存内容很大的,建议用redis。 补充下:ehcache也有缓存共享方案,不过是通过RMI或者Jgroup多播方式进行广播缓存通知更新,缓存共享复杂,维护不
分类: 其他 发布时间: 05-01 23:47 阅读次数: 0