- 手写 instanceof 方法
hello~~~
原型模式javascript开发语言
instanceof运算符用于判断构造函数的prototype属性是否出现在对象的原型链中的任何位置。实现步骤:首先获取类型的原型然后获得对象的原型然后一直循环判断对象的原型是否等于类型的原型,直到对象原型为null,因为原型链最终为nullfunctionmyInstanceof(left,right){letproto=Object.getPrototypeOf(left),//获取对象的原型
- 解决Ubuntu无法连网问题
0817
ubuntu服务器运维
重启虚拟机网络服务器ctrl+alt+t打开虚拟机命令终端,依次输入以下指令,重启虚拟机网络服务器sudoserviceNetworkManagerstopsudorm/var/lib/NetworkManager/NetworkManager.statesudoserviceNetworkManagerrestartsudoservicenetwork-managerstopsudorm/var
- SpringBoot常用技术集成
陌殇殇
springbootjava
SpringBoot中常用技术集成文章目录SpringBoot中常用技术集成1.@ConfigurationProperties2.集成Mybatis-Plus3.Web组件的使用1.注解方式2.配置类注册1.Servlet2.过滤器3.拦截器4.集成Redis5.集成RabbitMQ6.LogBack日志7.Swegger2集成8.阿里云OSS对象存储9.HttpClient10.Task定时任
- python return用法_为什么函数在python中以“return 0”而不是“return”结尾?
weixin_39779467
pythonreturn用法
你能解释一下“回归0”和“回归”之间的区别吗?例如:do_1():foriinxrange(5):do_sth()return0do_2():foriinxrange(5):do_sth()return上面两个函数有什么区别?解决方法:取决于用法:>>>defret_Nothing():...return...>>>defret_None():...returnNone...>>>defret_0
- 重定向和渲染的区别。
old_man31
pythondjango
defnew_topic(request):#如果提交方法不是post则显示表单ifrequest.method!='POST':returnrender(request,'new_topic.html')else:text=request.POST.get('text')ifall((text)):try:#凡是可能存在没有数据的地方,需要用try或者if,把可能出现的问题更改下。Topic.o
- Django下 render与redirect的区别
energy_百分百
djangodjangopythonhtmlrenderredircet
render返回页面内容(渲染变量到模板中),并且没有发送第二次请求redirect发送了第二次请求,是个跳转函数,一般跳转到外部网站,而且会返回302的状态码此外:render参数一般为模板html文件redirect参数一般为URL地址
- 深入解析:WinRAR与WinZip的全面对比
夜色呦
winrar
在数字时代,文件压缩工具已成为我们日常工作和生活中不可或缺的一部分。当我们谈论压缩软件时,WinRAR和WinZip是两个最常被提及的名字。尽管它们都提供了压缩和解压文件的功能,但它们之间存在一些关键的差异。本文将深入探讨WinRAR和WinZip的主要区别,包括它们的压缩技术、用户界面、兼容性、安全性、附加功能以及成本效益等方面。1.压缩技术WinRAR和WinZip使用不同的压缩算法。WinR
- Vue - 标签中 ref 属性的使用
来一碗刘肉面
Vuevue.jscss前端
在Vue3中,ref属性用于在模板中引用DOM元素或组件实例。通过ref,可以直接访问这些元素或组件的实例,从而进行更复杂的操作,比如获取元素的尺寸、调用组件的方法等。基本语法:Hello,Vue3!import{ref,onMounted}from'vue';constmyElement=ref(null);onMounted(()=>{//访问DOM元素console.log(myElemen
- cesium学习
qq_45660256
前端
cesium学习一、Cesium初始化CesiumWidget才是核心类\color{red}CesiumWidget才是核心类CesiumWidget才是核心类定义assessTokenCesium.Ion.defaultAccessToken='在Cesium官网中申请的token'实例化cesiumArcGIS影像图层constesri=newCesium.ArcGisMapServerIm
- python能自动解压各种压缩文件,你知道吗?
python程序员小'鹏
python恰饭经验分享程序人生
一、需求描述编写一个Python程序,每次下载压缩包形式的文件后,自动将内部文件解压到当前文件夹后将压缩包删除,通过本案例可以学到的知识点:os模块综合应用glob模块综合应用利用gzipzipfilerarfiletarfile模块解压文件二、步骤分析和前置知识码代码之前需要将复杂问题解释成多个明确的要求,即这个程序实现的逻辑为:定时检测某个文件夹(如download文件夹)是否存在压缩文件如果
- 前端学习-事件解绑,mouseover和mouseenter的区别(二十九)
marshalVS
前端学习
目录前言解绑事件语法鼠标经过事件的区别鼠标经过事件示例代码两种注册事件的区别总结前言人道洛阳花似锦,偏我来时不逢春解绑事件on事件方式,直接使用null覆盖就可以实现事件的解绑语法btn.onclick=function(){alert('点击了')}btn.onclick=null;constben=document.querySelector('button');ben.addEventLis
- 【玄机】流量特征分析-小王公司收到的钓鱼邮件
2401_84302796
网络
Content-Length:85834x-powered-by:PHP/7.4.33content-description:FileTransfercontent-disposition:attachment;filename=TD.zipcontent-transfer-encoding:binaryexpires:0cache-control:must-revalidate,post-che
- 2025美赛数学建模c题思路+模型+代码分享!非机构不卖课(12:51已更新完善Q1模型的代码)
夜信431
机器学习人工智能数学建模大数据python
2025MCMC题思路分析中文版题目翻译在这里先不放了,重点说一下我和队友讨论出来的一个简单思路。题目背景信息排名、金牌、奖牌数量:奥运会奖牌榜的核心指标。奖牌预测方法:强调基于参赛运动员名单而非历史奖牌数据进行预测。数据限制:模型和分析必须仅使用提供的五个数据文件,所以好好想想到时候伟大教练应该怎么考虑(data_dictionary.csv,summerOly_athletes.csv,sum
- 2025年美国大学生数学建模竞赛C题思路(对每题分析)
FFMXjy
数学建模学习-传统算法机器学习深度学习系列课程数学建模美赛美国大学生数学建模
2025年美国大学生数学建模竞赛C题思路开发奖牌数预测模型1.目标:建立一个模型来预测每个国家的奖牌数,特别是金牌和总奖牌数。步骤:2.使用提供的summerOly_athletes.csv和summerOly_medal_counts.csv数据。3.清理数据,处理缺失值和异常值。4.提取有用的特征,如国家、年份、项目、奖牌类型等。5.选择适当的机器学习算法,如线性回归、随机森林或梯度提升树。6
- ggplot2箱式图两两比较_科学网—ggplot2:方差分析多重比较标注显著字母 - 周运来的博文...
weixin_39548740
ggplot2箱式图两两比较
赖江山老师在科学网分享了FrancoisGillet编写的两个方差分析多重比较的函数boxplert()和boxplerk()【来源NumericalEcologywithR(secondEdition)】我看了一下出图的部分是用boxplot函数绘制的,作为一个ggplot2的爱好者自己尝试着用ggplot2把函数boxplert()重新写了一下。在重写的过程中收获几个问题:X轴如何按照给定的数
- Python正则表达式指南
weixin_33755554
python
http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html1.正则表达式基础1.1.简单介绍正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不
- 【Node.js】Koa2 整合接口文档
秀秀_heo
Node.js后端开发node.js
部分学习来源:https://blog.csdn.net/qq_38734862/article/details/107715579依赖//koa2-swagger-uiUI视图组件swagger-jsdoc识别写的/***/转jsonnpminstallkoa2-swagger-uiswagger-jsdoc--save配置config\swaggerConfig.jsconstRouter=r
- 前端知识速记—JS篇:箭头函数
无限大.
前端知识速记javascript前端开发语言
前端知识速记—JS篇:箭头函数什么是箭头函数?箭头函数是ES6引入的一种新的函数书写方式,其语法更为简洁,常用于替代传统的函数表达式。箭头函数的基本语法如下:constfunctionName=(parameters)=>{//函数体};通过这种方式,开发者可以以更简练的形式定义函数,提高代码的可读性。箭头函数的基本特性1.简化语法箭头函数最直接的优势就是语法简单,特别是在定义短小的函数时,能显著
- 微信小程序上传图片到服务器总是失败_微信小程序压缩图片并上传到服务器(拿去即用)...
weixin_39665847
这里注意一下,图片压缩后的宽度是画布宽度的一半canvasToTempFilePath创建画布的时候会有一定的时间延迟容易失败,这里加setTimeout来缓冲一下这是单张图片压缩,多张的压缩暂时还没有成功,保存到服务器上后是空白的,如有大神望指点一二(>人<;)/**压缩图片*/compressionImage(tempFilePaths,params){letthat=thiswx.getIm
- 微信小程序压缩图片
Goat恶霸詹姆斯
微信小程序小程序
由于wx.compressImage(Objectobject)iOS仅支持压缩JPG格式图片。所以我们需要做一下特殊的处理:1.获取文件,判断文件是否大于设定的大小2.如果大于则使用canvas进行绘制,并生成新的图片路径3.上传图片asyncchooseImage(){letres=awaitwx.chooseMedia({count:1,sizeType:["compressed"],med
- 软件架构设计与模式之:DevOps与运维架构
AI天才研究院
架构师必知必会系列编程实践大数据人工智能语言模型JavaPython架构设计
作者:禅与计算机程序设计艺术文章目录1.简介概要目的2.DevOps概述什么是DevOps?DevOps的关键点DevOps的价值3.DevOps基本概念、术语及流程管理工程价值流动方法论模型职能团队能力圈景气文化工具链4.DevOps与运维架构DevOps与运维架构的区别DevOps实践与运维架构DevOps架构图DevSecOps实践DevOps的发展趋势DevOps迫切需求1.简介概要Dev
- C++ STL?看这篇就够啦。草履虫都能学会的STL教程!
温州草履虫
c++数据结构java
C++中容器容器是什么?string容器构造函数常见函数vector容器与array的区别构造函数常见函数迭代器迭代器是什么?deque容器实现原理常见函数stack容器栈常见函数queue容器常见函数list容器链表链表的概念list容器的迭代器常见函数set/multiset容器二叉树常见函数map/multimap容器map和set的**区别**是:容器是什么?几乎可以说,任何特定的数据结构
- 2024 java面试题
TPBoreas
#Java面试开发语言后端
目录JAVA初级请简述你对MVC模式的理解SpringBean的生命周期可以分为以下几步:Spring自动装配bean有哪些方式?说一下类的加载过程?在使用HashMap的时候,用String做key有什么好处?HashMap、LinkedHashMap、TreeMap的区别?this与super之间有什么区别?乐观锁和悲观锁的实现是怎么样的?==与equals的区别Final在java中有什么作
- vue3学习笔记(ref, reactive, setup, hook...)
***无名小卒
学习vue.js1024程序员节
目录一、搭建项目二、常用的CompositionAPI1.ref函数(实现响应式)2.reactive函数3.vue2和vue3响应式的区别4.setup参数5.计算属性和监视6.vue3生命周期7.自定义hook8.toRef和toRefs9.其他组合式api10.新的组件一、搭建项目npminitvite-app进入项目npminpmrundev二、常用的CompositionAPI1.ref
- python创建python.py时遇到的问题 name is not defined
江大倩
pythonpython
创建py文件之后,运行文件时报错:是一个nameerror,说var为定义,所以执行不成功。这是因为将var定义在了函数里面,即return后一行的代码缩进了,导致var没有定义成功,只需要去除缩进就可以了。更改如下:
- (面经总结)一篇文章带你整理面试过程中关于多线程中的线程池的相关知识点
南淮北安
冲刺大厂之面经总结面试java经验分享线程池多线程
文章目录一、线程池的工作原理二、线程复用三、线程池的核心组件和核心类四、Java线程池的工作流程五、线程池的拒绝策略六、5中常用的线程池1.newCachedThreadPool2.newFixedThreadPool3.newScheduledThreadPool4.newSingleThreadExecutor5.newWorkStealingPool六、面试题一、线程池的工作原理线程是非常宝
- python中pywt库全称为PyWavelets
ayiyiyiyi
python
环境:pycharm2020.2在网上找到小波分析的程序,运行出现错误:未找到‘pywt’这个模块。于是利用pycharm中的settings添加模块搜索pywt出现pywt,但是安装失败。上网查,发现程序importpywt中pywt指的是Python小波分析库Pywavelets。安装成功,程序运行成功。
- python中pywt库安装
吟风忆柳
python
python中pywt库安装pipinstallPyWaveletscondainstallPyWavelets
- jenkins生成allure报告为空,日志中报错allure-results does not exist【已解决】
qq_41845402
Jenkins持续集成jenkins运维
现象:1、jenkins持续集成后,jenkins生成allure报告为空。2、查看jenkins控制台输出日志[Api-autotest]$/var/jenkins_home/tools/ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation/allure-2.19.0/bin/alluregenerate-c-o
- 11 Spark面试真题
TTXS123456789ABC
#Sparkspark面试大数据
11Spark大厂面试真题1.通常来说,Spark与MapReduce相比,Spark运行效率更高。请说明效率更高来源于Spark内置的哪些机制?2.hadoop和spark使用场景?3.spark如何保证宕机迅速恢复?4.hadoop和spark的相同点和不同点?5.RDD持久化原理?6.checkpoint检查点机制?7.checkpoint和持久化机制的区别?8.RDD机制理解吗?9.Spa
- C/C++Win32编程基础详解视频下载
择善Zach
编程C++Win32
课题视频:C/C++Win32编程基础详解
视频知识:win32窗口的创建
windows事件机制
主讲:择善Uncle老师
学习交流群:386620625
验证码:625
--
- Guava Cache使用笔记
bylijinnan
javaguavacache
1.Guava Cache的get/getIfPresent方法当参数为null时会抛空指针异常
我刚开始使用时还以为Guava Cache跟HashMap一样,get(null)返回null。
实际上Guava整体设计思想就是拒绝null的,很多地方都会执行com.google.common.base.Preconditions.checkNotNull的检查。
2.Guava
- 解决ora-01652无法通过128(在temp表空间中)
0624chenhong
oracle
解决ora-01652无法通过128(在temp表空间中)扩展temp段的过程
一个sql语句后,大约花了10分钟,好不容易有一个结果,但是报了一个ora-01652错误,查阅了oracle的错误代码说明:意思是指temp表空间无法自动扩展temp段。这种问题一般有两种原因:一是临时表空间空间太小,二是不能自动扩展。
分析过程:
既然是temp表空间有问题,那当
- Struct在jsp标签
不懂事的小屁孩
struct
非UI标签介绍:
控制类标签:
1:程序流程控制标签 if elseif else
<s:if test="isUsed">
<span class="label label-success">True</span>
</
- 按对象属性排序
换个号韩国红果果
JavaScript对象排序
利用JavaScript进行对象排序,根据用户的年龄排序展示
<script>
var bob={
name;bob,
age:30
}
var peter={
name;peter,
age:30
}
var amy={
name;amy,
age:24
}
var mike={
name;mike,
age:29
}
var john={
- 大数据分析让个性化的客户体验不再遥远
蓝儿唯美
数据分析
顾客通过多种渠道制造大量数据,企业则热衷于利用这些信息来实现更为个性化的体验。
分析公司Gartner表示,高级分析会成为客户服务的关键,但是大数据分析的采用目前仅局限于不到一成的企业。 挑战在于企业还在努力适应结构化数据,疲于根据自身的客户关系管理(CRM)系统部署有效的分析框架,以及集成不同的内外部信息源。
然而,面对顾客通过数字技术参与而产生的快速变化的信息,企业需要及时作出反应。要想实
- java笔记4
a-john
java
操作符
1,使用java操作符
操作符接受一个或多个参数,并生成一个新值。参数的形式与普通的方法调用不用,但是效果是相同的。加号和一元的正号(+)、减号和一元的负号(-)、乘号(*)、除号(/)以及赋值号(=)的用法与其他编程语言类似。
操作符作用于操作数,生成一个新值。另外,有些操作符可能会改变操作数自身的
- 从裸机编程到嵌入式Linux编程思想的转变------分而治之:驱动和应用程序
aijuans
嵌入式学习
笔者学习嵌入式Linux也有一段时间了,很奇怪的是很多书讲驱动编程方面的知识,也有很多书将ARM9方面的知识,但是从以前51形式的(对寄存器直接操作,初始化芯片的功能模块)编程方法,和思维模式,变换为基于Linux操作系统编程,讲这个思想转变的书几乎没有,让初学者走了很多弯路,撞了很多难墙。
笔者因此写上自己的学习心得,希望能给和我一样转变
- 在springmvc中解决FastJson循环引用的问题
asialee
循环引用fastjson
我们先来看一个例子:
package com.elong.bms;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;
import co
- ArrayAdapter和SimpleAdapter技术总结
百合不是茶
androidSimpleAdapterArrayAdapter高级组件基础
ArrayAdapter比较简单,但它只能用于显示文字。而SimpleAdapter则有很强的扩展性,可以自定义出各种效果
ArrayAdapter;的数据可以是数组或者是队列
// 获得下拉框对象
AutoCompleteTextView textview = (AutoCompleteTextView) this
- 九封信
bijian1013
人生励志
有时候,莫名的心情不好,不想和任何人说话,只想一个人静静的发呆。有时候,想一个人躲起来脆弱,不愿别人看到自己的伤口。有时候,走过熟悉的街角,看到熟悉的背影,突然想起一个人的脸。有时候,发现自己一夜之间就长大了。 2014,写给人
- Linux下安装MySQL Web 管理工具phpMyAdmin
sunjing
PHPInstallphpMyAdmin
PHP http://php.net/
phpMyAdmin http://www.phpmyadmin.net
Error compiling PHP on CentOS x64
一、安装Apache
请参阅http://billben.iteye.com/admin/blogs/1985244
二、安装依赖包
sudo yum install gd
- 分布式系统理论
bit1129
分布式
FLP
One famous theory in distributed computing, known as FLP after the authors Fischer, Lynch, and Patterson, proved that in a distributed system with asynchronous communication and process crashes,
- ssh2整合(spring+struts2+hibernate)-附源码
白糖_
eclipsespringHibernatemysql项目管理
最近抽空又整理了一套ssh2框架,主要使用的技术如下:
spring做容器,管理了三层(dao,service,actioin)的对象
struts2实现与页面交互(MVC),自己做了一个异常拦截器,能拦截Action层抛出的异常
hibernate与数据库交互
BoneCp数据库连接池,据说比其它数据库连接池快20倍,仅仅是据说
MySql数据库
项目用eclipse
- treetable bug记录
braveCS
table
// 插入子节点删除再插入时不能正常显示。修改:
//不知改后有没有错,先做个备忘
Tree.prototype.removeNode = function(node) {
// Recursively remove all descendants of +node+
this.unloadBranch(node);
// Remove
- 编程之美-电话号码对应英语单词
bylijinnan
java算法编程之美
import java.util.Arrays;
public class NumberToWord {
/**
* 编程之美 电话号码对应英语单词
* 题目:
* 手机上的拨号盘,每个数字都对应一些字母,比如2对应ABC,3对应DEF.........,8对应TUV,9对应WXYZ,
* 要求对一段数字,输出其代表的所有可能的字母组合
- jquery ajax读书笔记
chengxuyuancsdn
jQuery ajax
1、jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()
- JWFD工作流拓扑结构解析伪码描述算法
comsci
数据结构算法工作活动J#
对工作流拓扑结构解析感兴趣的朋友可以下载附件,或者下载JWFD的全部代码进行分析
/* 流程图拓扑结构解析伪码描述算法
public java.util.ArrayList DFS(String graphid, String stepid, int j)
- oracle I/O 从属进程
daizj
oracle
I/O 从属进程
I/O从属进程用于为不支持异步I/O的系统或设备模拟异步I/O.例如,磁带设备(相当慢)就不支持异步I/O.通过使用I/O 从属进程,可以让磁带机模仿通常只为磁盘驱动器提供的功能。就好像支持真正的异步I/O 一样,写设备的进程(调用者)会收集大量数据,并交由写入器写出。数据成功地写出时,写入器(此时写入器是I/O 从属进程,而不是操作系统)会通知原来的调用者,调用者则会
- 高级排序:希尔排序
dieslrae
希尔排序
public void shellSort(int[] array){
int limit = 1;
int temp;
int index;
while(limit <= array.length/3){
limit = limit * 3 + 1;
- 初二下学期难记忆单词
dcj3sjt126com
englishword
kitchen 厨房
cupboard 厨柜
salt 盐
sugar 糖
oil 油
fork 叉;餐叉
spoon 匙;调羹
chopsticks 筷子
cabbage 卷心菜;洋白菜
soup 汤
Italian 意大利的
Indian 印度的
workplace 工作场所
even 甚至;更
Italy 意大利
laugh 笑
m
- Go语言使用MySQL数据库进行增删改查
dcj3sjt126com
mysql
目前Internet上流行的网站构架方式是LAMP,其中的M即MySQL, 作为数据库,MySQL以免费、开源、使用方便为优势成为了很多Web开发的后端数据库存储引擎。MySQL驱动Go中支持MySQL的驱动目前比较多,有如下几种,有些是支持database/sql标准,而有些是采用了自己的实现接口,常用的有如下几种:
http://code.google.c...o-mysql-dri
- git命令
shuizhaosi888
git
---------------设置全局用户名:
git config --global user.name "HanShuliang" //设置用户名
git config --global user.email "
[email protected]" //设置邮箱
---------------查看环境配置
git config --li
- qemu-kvm 网络 nat模式 (四)
haoningabc
kvmqemu
qemu-ifup-NAT
#!/bin/bash
BRIDGE=virbr0
NETWORK=192.168.122.0
GATEWAY=192.168.122.1
NETMASK=255.255.255.0
DHCPRANGE=192.168.122.2,192.168.122.254
TFTPROOT=
BOOTP=
function check_bridge()
- 不要让未来的你,讨厌现在的自己
jingjing0907
生活 奋斗 工作 梦想
故事one
23岁,他大学毕业,放弃了父母安排的稳定工作,独闯京城,在家小公司混个小职位,工作还算顺手,月薪三千,混了混,混走了一年的光阴。 24岁,有了女朋友,从二环12人的集体宿舍搬到香山民居,一间平房,二人世界,爱爱爱。偶然约三朋四友,打扑克搓麻将,日子快乐似神仙; 25岁,出了几次差,调了两次岗,薪水涨了不过百,生猛狂飙的物价让现实血淋淋,无力为心爱银儿购件大牌
- 枚举类型详解
一路欢笑一路走
enum枚举详解enumsetenumMap
枚举类型详解
一.Enum详解
1.1枚举类型的介绍
JDK1.5加入了一个全新的类型的”类”—枚举类型,为此JDK1.5引入了一个新的关键字enum,我们可以这样定义一个枚举类型。
Demo:一个最简单的枚举类
public enum ColorType {
RED
- 第11章 动画效果(上)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- Eclipse中jsp、js文件编辑时,卡死现象解决汇总
ljf_home
eclipsejsp卡死js卡死
使用Eclipse编辑jsp、js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲。将所有用过的方法罗列如下:
1、取消验证
windows–>perferences–>validation
把 除了manual 下面的全部点掉,build下只留 classpath dependency Valida
- MySQL编程中的6个重要的实用技巧
tomcat_oracle
mysql
每一行命令都是用分号(;)作为结束
对于MySQL,第一件你必须牢记的是它的每一行命令都是用分号(;)作为结束的,但当一行MySQL被插入在PHP代码中时,最好把后面的分号省略掉,例如:
mysql_query("INSERT INTO tablename(first_name,last_name)VALUES('$first_name',$last_name')");
- zoj 3820 Building Fire Stations(二分+bfs)
阿尔萨斯
Build
题目链接:zoj 3820 Building Fire Stations
题目大意:给定一棵树,选取两个建立加油站,问说所有点距离加油站距离的最大值的最小值是多少,并且任意输出一种建立加油站的方式。
解题思路:二分距离判断,判断函数的复杂度是o(n),这样的复杂度应该是o(nlogn),即使常数系数偏大,但是居然跑了4.5s,也是醉了。 判断函数里面做了3次bfs,但是每次bfs节点最多