- JSON的序列化和反序列化
-黑大帅
jsonlinux数据库
一、什么是JSONJSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,因其简单、易读、易写而被广泛采用。它通过键值对和数组的方式表示数据,能够高效地在前后端之间传输数据,并且大多数编程语言都支持JSON格式。JSON主要用于前后端数据交换、配置文件存储和API设计等场景,使得数据处理变得直观和一致。二、序列化序列化就是将对象转换为JSON格式的字符串。在pyth
- Scala的隐式对象
yuhuhuh
scala
隐式对象:implicitobject//隐式对象//implicitobject//作用:给函数的隐式参数提供默认值objecttest5{caseclassDatabaseConfig(driver:String,url:String)//作为函数的隐式参数的默认值implicitobjectMySqlDefaultextendsDatabaseConfig("mysql","localhos
- Scala的匿名类
yuhuhuh
scala
匿名类:没有名字的类。!只能使用一次,如果想再次使用需要重新创建匿名类。举例:classCar5{varcolor="white"defrun():Unit={println("run...")}}objectTest19_3{defmain(args:Array[String]):Unit={//varcar=newCar5()//car.run()//匿名类:没有名字的类!//特点://1.没
- Scala中的Set集合运用
yuhuhuh
scala
1.可变Set2.不可变Setimportscala.collection.mutable//Set集合objectTest24{defmain(args:Array[String]):Unit={//1.定义Set//valset1=Set[元素的类型](元素1,元素2....)//元素的类型可以省略//valset1=Set[String]("小花","小明","小明")//valset1=S
- 用Scala探索身份证号码的秘密
yuhuhuh
scala
个别小知识点:1.toInt把字符串转换成整数2.toUpperCase变大写3.toLowerCase变小写4.substring(起点,终点-不包括)字符串截取5.charAt(下标)得到对应位置的字符(不是字符串)6.asDigit把字符转换成数字7."""三引号字符串,支持换行8.contains是否包含子串揭秘时刻:objecttest{defmain(args:Array[String
- Java基础常见面试题及详细答案(总结40个)
java梅洛
经验分享数据库大数据javapostgresql
最近看到网上流传着各种面试经验及面试题,往往都是一大堆技术题目贴上去,但是没有答案。为此我业余时间整理了40道Java基础常见的面试题及详细答案,望各路大牛发现不对的地方不吝赐教,留言即可。八种基本数据类型的大小,以及他们的封装类引用数据类型Switch能否用string做参数equals与==的区别自动装箱,常量池Object有哪些公用方法Java的四种引用,强弱软虚,用到的场景Hashcode
- 【Qt】16 Qt对象间的父子关系
c++
一、Qt对象间的关系Qt对象间可以存在父子关系每一个对象都保存有它所有子对象的指针每一个对象都有一个指向其父对象的指针当指定Qt对象的父对象时其父对象会在子对象链表中加入该对象的指针该对象会保存指向其父对象的指针QObject*p=newQObject();QObject*c1=newQObject();QObject*c2=newQObject();c1->setParent(p);c2->se
- Qt源码解析4-事件系统
道格拉斯范朋克
Qtqt开发语言QEvent
Qt源码解析索引本文介绍事件系统的理论说明,代码相关在专栏的其他博客Qt源码解析4-事件系统-事件循环原理源码分析_xinqingwuji的博客-CSDN博客在Qt中,事件是由抽象类QEvent派生而来的对象,它表示应用程序内部发生的事情或应用程序需要知道的外部活动的结果。QObject子类的任何实例都可以接收和处理事件,但它们与小部件特别相关。本文档描述了在典型应用程序中如何交付和处理事件。1、
- 37、深度学习-自学之路-自己搭建深度学习框架-2、自动梯度计算
小宇爱
深度学习-自学之路深度学习人工智能自然语言处理
importnumpyasnpclassTensor(object):'''importnumpyasnp:导入numpy库,用于处理数组相关操作。classTensor(object):定义了一个名为Tensor的类,继承自object。__init__方法是类的构造函数,用于初始化Tensor对象:self.data=np.array(data):将传入的data转换为numpy数组并存储在s
- CSS 真的会阻塞文档解析吗?从浏览器渲染原理深入探究一下
银之夏雪
css前端浏览器浏览器渲染
在网页开发领域,一个常见的疑问是CSS是否会阻塞文档解析。理解这一问题对于优化网页性能、提升用户体验至关重要。要深入解答这个问题,需要从浏览器渲染网页的原理说起。浏览器渲染网页的基本流程浏览器在接收到HTML文档后,会依次进行以下几个主要步骤:解析HTML:浏览器从网络或本地获取HTML文件,然后开始解析,将HTML代码转换为DOM(DocumentObjectModel,文档对象模型)树。DOM
- Android 轻量级双向 IPC 通信 Messenger
SunshineBoy的博客
面试专栏android
Service服务端示例://MessengerService.ktclassMessengerService:Service(){//处理客户端消息的Handlerprivatevalhandler=object:Handler(Looper.getMainLooper()){overridefunhandleMessage(msg:Message){when(msg.what){MSG_SAY
- DragControls拖拽插件优化:从指定平面到任意平面
现状:Threejs官方demo提供了DragControls.js平面拖拽控件,但只能拖拽Object在垂直于相机法线的平面上移动目标场景:在六面体空间盒子中沿着六面体平面拖拽物体,并且需要限制在盒子内部已知:空间盒子大小,对象所在的平面方案设计:将Object拖拽依赖的信息放在userData中,示例如下基于拖拽控件,改造部分关键代码,实现目标//模型对象部分参数{//...userData:
- CSE 8B: Introduction to Programming
后端
CSE8B:IntroductiontoProgrammingIIProgrammingAssignment5ObjectsandClassesDue:Monday,February24,11:59PMLearninggoals:●ImplementasimplifiedRedditprogramusingJavaclasses●UsetheJavaArrayListclass●Writeunit
- 探索 Python JsonUtils 工具类:高效处理 JSON 数据
FinkGO小码
人工智能的基石python经验分享学习方法程序人生pycharmjson后端
引言在现代的软件开发中,JSON(JavaScriptObjectNotation)作为一种轻量级的数据交换格式,被广泛应用于各种领域,如Web开发、数据存储和API交互等。Python作为一门功能强大且易于上手的编程语言,内置了json模块,为处理JSON数据提供了基础支持。然而,为了更高效、便捷地进行JSON操作,我们可以对json模块进行封装,创建一个实用的工具类。今天,我们就来深入探讨一个
- Three.js基础入门系列(四)
骨灰级收藏家
前端javascriptmesh3d
01、Three.js中的基本要素:网格(Mesh)当我们拥有了几何体模型和材质之后,我们需要通过一个网格(Mesh)将两者结合起来,创建我们正在的拍摄对象。两种不同的拍摄对象构造方法:newTHREE.Mesh(geometry,material)THREE.SceneUtils.createMultiMaterialObject(geometry,[materials…])第一个参数代表物体的
- qt 进程打开excel_Qt 操作Excel
章满莫
qt进程打开excel
Qt对Excel的数据读/写操作没有现存的类,需要使用QAxObject,下面是从网上下载下来的一个封装好的类,感觉还可以,一般情况下够用,拿来给大家分享。头文件:#ifndefEXCELENGINE_H#defineEXCELENGINE_H#include#include#include#include#include#include#include#include#include#inclu
- qt之读写excel
xiaocg2009
Qt读写excel设置excel单元格属性为文本
qt版本是qt5.5,需先在.pro文件下添加axcontainer组件QT+=coreguiaxcontainer其次,读写excel一般流程://step1:连接控件QAxObject*excel=newQAxObject(this);excel->setControl("Excel.Application");//连接Excel控件excel->dynamicCall("SetVisible
- QT使用QAxObject读取Excel教程-全网最全_qt读取excel
qq_31546939
qtexcel数据库
这是设置打开Excel时不可见(也就是后台进行)。workbooks->dynamicCall("Add");这是新建一个Excel文件。workbooks->dynamicCall("Close()");excel->dynamicCall("Quit()");这是关闭Excel应用。除此之外,还有很多类似的方法。设置和获取属性一般通过setProperty()方法设置属性,比如:range->
- Redis7.0 5种基本数据类型及listpack
fuhuan_alone
redisredis
7.05种基本类型的底层结构以下是Redis7.0中五种基本数据类型的底层结构详解,结合其设计优化与性能特点:1、String(字符串)标题底层结构:SDS(SimpleDynamicString):动态字符串结构,支持自动扩容、二进制安全,并预分配冗余空间以减少内存重分配。编码方式:INT:存储64位整数,直接嵌入RedisObject的指针位置。EMBSTR:短字符串(≤44字节)与Re
- Qt读写Excel文件的各种常用的方法
elikang
qtQtQXslxEXcel
https://wiki.qt.io/Handling_Microsoft_Excel_file_format里面总结了Qt读写Excel文件的各种常用的方法,包括一些第三方的插件。通常,在windos系统操作Excel上,QT有两种方式,一是通过COM组件,二是通过QODBC(数据库的方式)。网上推荐是使用QAxObject通过COM组件读取,QODBC读取100MB的Excel文件的时候需要十
- .onnx模型转.rknn模型方法详解
墨小傲
前端linuxjavascript
首先安装对应的onnx和rknn相关环境将所需环境安装好以后就可以新建一个:onnx2rknn.py的文件,用于模型转换。代码:fromrknn.apiimportRKNNimportosif__name__=='__main__':platform='rk3588''''step1:createRKNNobject'''rknn=RKNN()'''step2:loadthe.onnxmodel'
- 领域驱动设计(DDD)详解:聚合根和值对象在 .NET Core 中的实现与应用
江沉晚呤时
NetcoreDDDnet.netcorec#架构
在复杂的业务系统开发中,如何处理和组织业务逻辑是一个至关重要的挑战。领域驱动设计(Domain-DrivenDesign,简称DDD)为我们提供了一种有效的方法论,通过精确的领域建模,帮助我们在解决业务问题的同时构建清晰、可维护的系统架构。在DDD中,**聚合根(AggregateRoot)和值对象(ValueObject)**是两个非常重要的概念,它们在领域层的设计中占据着核心地位。本文将深入探
- 51、深度学习-自学之路-自己搭建深度学习框架-12、使用我们自己建的架构重写RNN预测网络
小宇爱
深度学习-自学之路深度学习rnn人工智能
importnumpyasnpclassTensor(object):def__init__(self,data,autograd=False,creators=None,creation_op=None,id=None):self.data=np.array(data)self.autograd=autogradself.grad=Noneif(idisNone):self.id=np.rand
- 深入解析 object 根类及其 __dir__() 方法
web安全工具库
python开发语言
各类资料学习下载合集https://pan.quark.cn/s/8c91ccb5a474在Python中,所有类都隐式地继承自根类object。作为Python中的基类,object提供了许多基本功能,其中__dir__()是一个非常重要但又常被忽略的方法,它用于返回一个对象的所有属性和方法的列表。在本文中,我们将详细解析object根类及其__dir__()方法的工作原理,并通过代码示例来帮助
- “[object Object]“ is not valid JSON 的解决方案
dushky
json前端
1错误描述:使用JSON.parse()时,经常会提示:"[objectObject]"isnotvalidJSON。有2种解决方案:1.1不需要使用JSON.parse()方法JSON.parse()的工作是将JSON转换回JavaScript,所以如果从服务器响应中获取JSON,但在到达您的代码之前已经转换为JavaScript了,就不需要JSON.parse()!//ERROR!已经是jav
- UE垃圾回收-纳入被自动GC机制管理的条件
努力的小钟
ue4
文章目录一、UObject成员变量必须用UPROPERTY修饰二、实现AddReferencedObjects接口三、结构体继承FGCObject并实现AddReferencedObjects总结注意事项:一、UObject成员变量必须用UPROPERTY修饰如果UObject类型的成员变量未被标记为UPROPERTY,GC将无法识别其引用,导致对象可能被错误回收。//MyClass.h#prag
- flask mysql保存图片_六、Flask_数据库+session存储+蓝图
hitomo
flaskmysql保存图片
1数据库相关ormORM全拼Object-RelationMapping,中文意为对象-关系映射。主要实现模型对象到关系数据库数据的映射优点:只需要面向对象编程,不需要面向数据库编写代码对数据库的操作都转化成对类属性和方法的操作不用编写各种数据库的sql语句实现了数据模型与数据库的解耦,屏蔽了不同数据库操作上的差异不再需要关注当前项目使用的是哪种数据库通过简单的配置就可以轻松更换数据库,而不需要修
- Python的子线程与主线程之间的通信并通知主线程更新UI
银河护卫队长
python开发语言
新建PLC类PLC.pyimportjsonimporttimefromthreadingimportThreadfromHslCommunicationimportSiemensS7Net,SiemensPLCSfromPySide6.QtCoreimportQThread,Signal,QObjectfromtdm.MsgTypeimportMSG_TYPE_LOG,MSG_TYPE_MSGB
- Java 进阶:如何让线程主动让出 CPU
begei
面试学习路线阿里巴巴java开发语言
Java进阶如何让线程主动让出CPUThreadsleepThreadyieldThreadcurrentThreadsuspendObjectwaitLockSupportparkThreadstopJava进阶:如何让线程主动让出CPUThread.sleepsleep方法可以让线程主动让出CPU,但是并不会释放锁。/***Causesthecurrentlyexecutingthreadto
- Java 代理模式
&星辰入梦来&
java代理模式开发语言
1.代理模式代理模式是一种比较好理解的设计模式。简单来说就是我们使用代理对象来代替对真实对象(realobject)的访问,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。代理模式的主要作用是扩展目标对象的功能,比如说在目标对象的某个方法执行前后你可以增加一些自定义的操作。代理模式有静态代理和动态代理两种实现方式,我们先来看一下静态代理莫事的实现。2.静态代理静态代理
- 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节点最多