- Qt Quick 3D
꧁白杨树下꧂
qt6.4文档Qt+三维开发qt
QtQuick3DQtQuick3Dprovidesahigh-levelAPIforcreating3Dcontentand3DuserinterfacesbasedonQtQuick.Ratherthanusinganexternalengine,whichcreatessyncingissuesandadditionallayersofabstraction,QtQuick3Dprovide
- 【中兴交换机MC-LAG配置】
NanTiger
中兴网络
【中兴交换机MC-LAG配置】主设备配置如下:Keepalive链路Peer-Link链路MC-LAG配置mc-lag业务成员口配置生成树配置三层逃生备设备配置如下:Keepalive链路Peer-Link链路MC-LAG配置mc-lag业务成员口配置生成树配置三层逃生主设备配置如下:Keepalive链路interfacesmartgroup1023//用作MC-LAG的Keepalive链路接
- RT路由器 serial 口ppp multilink 绑定接口配置
yooillk
网络建设与运维网络运维
配置MutlilinkPPP捆绑,编号为1interfacemultilink1ipadd192.168.100.1255.255.255.0pppmultilinkmultilink-group1interfaceserial1/0noipaddencapsulationppp&
- Linux 网络管理命令大全:网卡、端口、路由全掌握
Linux网络管理命令大全:网卡、端口、路由全掌握一.网卡管理(NetworkInterfaces)1.1查看网卡信息1.2启用和禁用网卡1.3配置静态IP二.端口管理2.1查看当前监听的端口2.2检查端口是否被占用2.3开放端口(防火墙配置)三.路由管理3.1查看路由表3.2添加路由四.网络连接诊断4.1测试网络连通性4.2测试某个端口是否开放4.3直接获取网页内容前言肝文不易,点个免费的赞和关
- PVE固定网卡名称防止增减PCIE设备失联
牧子与羊
运维服务器虚拟机pve
【关键词】:新PCIE网卡改变、新PCIE管理页面无法登录、新PCIE网口灯不亮在ProxmoxVE(PVE)环境中,新增PCIe设备可能导致网卡PCIID变化,进而引发网卡名称改变(如enp5s0→enp6s0),最终导致PVE管理界面无法访问。本文提供两种一劳永逸的解决方案:MAC地址绑定法(推荐):仅需在/etc/network/interfaces中添加hwaddress行,无需重命名网卡
- iOS 多个线程对数组操作(遍历,插入,删除),实现一个线程安全的NSMutabeArray
//联系人:石虎QQ:1224614774昵称:嗡嘛呢叭咪哄一、概念1.含义:@synchronized(self){}//这个其实就是一个加锁。如果self其他线程访问,则会阻塞。这样做一般是用来对单2.重写构造方法@interfaceSHSafetyArray:NSObject{@privateNSMutableArray*_mutableArray;//声明数组}//遍历加锁-(void)m
- java代理模式
知还215
java代理模式servlet
一.JDK代理机制1.定义发送短信的接口publicinterfaceSmsService{Stringsend(Stringmessage);}2.实现发送短信的接口publicclassSmsServiceImplimplementsSmsService{publicStringsend(Stringmessage){System.out.println("sendmessage:"+mess
- ABAP - Excel OO - zcl_excel
classZCL_EXCELdefinitionpubliccreatepublic.publicsection.*"*publiccomponentsofclassZCL_EXCEL*"*donotincludeothersourcefileshere!!!interfacesZIF_EXCEL_BOOK_PROPERTIES.interfacesZIF_EXCEL_BOOK_PROTECTIO
- 设计模式-享元模式
一、用到的类一个接口一个接口实现类一个享元工厂:里面有一个用于存储实现类的map,key为我们随机指定的(我们自己是知道的,以后会用这个key去获取),还有一个获取对象方法,先去map中找,找不到就创建并塞入map,找到了就返回二、实现代码接口代码publicinterfaceShape{voiddraw();}接口实现代码publicclassCircleimplementsShape{priv
- STM32(X)精简库解读CMSIS
概述CMSIS全称为CommonMicrocontrollerSoftwareInterfaceStandard(通用微控制器软件接口标准),点此参考官方解读精简库CMSIS文件夹结构core:CMSISCortex-M3核心外设访问层源文件startup:启动文件stm32f10x.h:CMSISCortex-M3设备外设访问层头文件。这个文件包含了所有外设寄存器的定义,位定义和内存映射的STM
- Debian-10-standard用`networking`服务的`/etc/network/interfaces`配置文件设置多网卡多IPv6
kfepiza
网络通讯传输协议IPTCPUDP物联#Linuxdebian运维网络linux
Debian-10-buster-standard用networking服务的/etc/network/interfaces配置文件设置多网卡多IPv6Debian-10-buster-standard用networking服务的/etc/network/interfaces配置文件设置多网卡多IPv6250703_123456三块网卡:enp0s3,enp0s8,enp0s9/etc/netwo
- Chapter6: ISP架构和处理模块-之-ISP模块
ifuleyou1668
CameraQCandroid
高通(Qualcomm)图像信号处理器(ISP)是摄像头系统中的核心组件,用于实时处理从摄像头传感器获取的图像数据。高通ISP包含多个模块,每个模块负责一部分图像处理任务。以下是高通CameraISP中常见的一些关键模块:1.RawDataInputInterfaceSensorInterface:接受来自摄像头传感器的原始数据,一般通过MIPICSI-2接口。2.LensShadingCorre
- python之数据库操作
婵婵子~
python数据库python
python操作sqlserver数据库python标准数据库接口为pythonDB-API,具体可参考:https://wiki.python.org/moin/DatabaseInterfacesPython的DB-API,为大多数的数据库实现了接口,使用它连接各数据库后,就可以用相同的方式操作各数据库。PythonDB-API使用流程:引入API模块。获取与数据库的连接。执行SQL语句和存储
- DDD 分层架构实战指南:从项目结构到落地挑战
一、项目结构详解(以电商订单系统为例)src/main/java├──com.example│├──common#通用工具类、基础异常、常量│├──order#订单限界上下文(模块示例)││├──interfaces#用户接口层│││├──controller#HTTP/RESTAPI│││├──rpc#Dubbo/gRPC接口│││└──consumer#消息队列消费者(如Kafka监听)││├
- CMSIS应用于研究指南图文教程
硬小二
《ST32从入门到就业》单片机stm32armKeil
欢迎点击浏览更多高清视频演示0,概述本文旨在帮助大家理解什么是CMSIS标准和CMSIS标准的基本内容,并为大家深入研究CMSIS提供途径。目录0,概述1,什么是CMSIS标准2,CMSIS文件获取方法3,总结1,什么是CMSIS标准CMSIS英文全程为:CortexMicrocontrollerSoftwareInterfaceStandard可翻译为“微控制器表层软件接口标准”。由于ARM是制
- 【ARM】CMSIS 软件标准接口
LuckiBit
嵌入式嵌入式CMSISARMCortexc语言c++
目录CMSIS:CortexMicrocontrollerSoftwareInterfaceStandard1.概述2.CMSIS-Core2.1概述2.2关键组件2.3示例代码2.4详细解释3.CMSIS-DSP3.1概述3.2关键组件3.3示例代码3.4详细解释4.CMSIS-RTOS4.1概述4.2关键组件4.3示例代码4.4详细解释5.CMSIS-Driver5.1概述5.2关键组件5.3
- ifconfig工具源码分析
weixin_34357887
操作系统数据结构与算法
ifconfig是linux中用于显示或配置网络设备(网络接口卡)的命令,英文全称是networkinterfacesconfiguring。同netstat一样,ifconfig源码也位于net-tools中。源码位于net-tools工具包中,这是linux网络的基本工具包,此外还有arp,hostname,route等命令。项目链接:http://net-tools.sourceforge.
- 7. TypeScript接口
Raink老师
2025TypeScript学习指南typescriptjavascript
TypeScript中的接口(Interfaces)用于定义对象的结构。它们允许开发者指定一个对象应具有哪些属性以及这些属性的类型。接口有助于确保对象遵循特定的结构,从而在整个应用中提供一致性,并提升代码的可维护性。一、认识接口TypeScript是JavaScript的一个静态类型超集,它添加了可选的类型、类、接口以及其他功能,帮助开发者构建健壮且易于维护的应用程序。TypeScript最强大的
- OpenJDK 11 动态代理源码深度解析
蚰蜒螟
开发语言jvm
动态代理是Java反射机制的核心功能之一,允许在运行时动态创建实现指定接口的代理类。本文基于OpenJDK11源码,深入剖析其实现机制。一、核心入口:Proxy.newProxyInstance()javapublicstaticObjectnewProxyInstance(ClassLoaderloader,Class[]interfaces,InvocationHandlerh){Object
- 使用CMSIS开发STM32麦克风采样应用
is0815
stm32
使用CMSIS开发STM32使用CMSIS(CortexMicrocontrollerSoftwareInterfaceStandard)开发STM32是一种低耦合、硬件抽象层更清晰的方式,适合对性能和代码移植性有较高要求的项目。相比HAL库,CMSIS更接近底层,但比直接操作寄存器更标准化。一、什么是CMSIS?CMSIS是ARM推出的标准化软件接口,包括以下几个部分:CMSIS-Core:定义
- 【1.1 漫画Java基础 - 从零到英雄的进阶之路】
漫画Java基础-从零到英雄的进阶之路目录记忆口诀可视化图表形象比喻数字记忆实战案例记忆卡片总结诗句面试准备记忆口诀️Java设计原理-“SOLID五兄弟”单一责任不贪心(SingleResponsibility)开闭原则要牢记(Open/Closed)里氏替换父子情(LiskovSubstitution)接口隔离要分离(InterfaceSegregation)依赖倒置向抽象(Dependenc
- 【Linux基础知识系列】第二十四篇-网络配置文件的解析与修改
望获linux
Linux基础知识系列php开发语言操作系统服务器开源软件linux嵌入式软件
在Linux系统中,网络配置是系统管理的重要组成部分。无论是服务器还是个人计算机,正确的网络配置是确保系统能够正常连接到网络并进行通信的关键。Linux中的网络配置主要通过一系列配置文件来完成,包括/etc/network/interfaces(或/etc/netplan/*.yaml)、/etc/resolv.conf等。本文将详细介绍这些配置文件的基本概念、修改方法以及如何通过命令行进行网络设
- 【无标题】在 4K 高分辨率(如 3840×2160)笔记本上运行 VMware 虚拟机时平面太小字体太小(ubuntu)
linuxarmsummary
4K屏幕显示ubuntu
✅方法一:写入~/.xprofile(推荐)这个文件会在你登录图形界面前自动执行,适合设置缩放比例等桌面配置。1.打开.xprofile文件(如果没有会自动创建):nano~/.xprofile2.写入以下内容:#!/bin/bashgsettingssetorg.gnome.desktop.interfacescaling-factor2✅如果你使用的是GTK应用,还可以加上:exportGDK
- 修改代码, 确保 Checking 过程在多线程下的原子性 (简体中文版)
依旧风轻
iOSMultithreadingSQIiOSMultithreadingAtomic
场景//SQIHijackingDetectionNetworkPlugin.m@interfaceSQIHijackingDetectionNetworkPlugin()@property(nonatomic,assign)BOOLisChecking;@end@implementationSQIHijackingDetectionNetworkPlugin#pragmamark-SQINetw
- ros2--图像/image
猿饵块
计算机视觉人工智能
原始图像接口类型:压缩图像接口类型:sensor_msgs/msg/CompressedImageros2interfaceshowsensor_msgs/msg/CompressedImage#Thismessagecontainsacompressedimage.std_msgs/Headerheader#Headertimestampshouldbeacquisitiontimeofimag
- Ubuntu20.04 配置静态IP
tankpanv
运维
说明:在Ubuntu20.04中,传统的配置/etc/network/interfaces已无效!1.使用ifconfig命令查看网卡ifconfig记住使用的是哪个网卡,后面配置文件要用2.修改yaml配置文件注意不同机器yaml文件名不一样,先ls看一下cd/etc/netpaln/ls我的文件名是00-installer-config.yaml,我还见过01-network-manager-
- java设计模式1——工厂方法模式(Factory Method)
忆瞻
java设计模式java设计模式
工厂方法模式分为三种:1、普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。首先看下关系图:举例如下:(我们举一个发送邮件和短信的例子)首先,创建二者的共同接口:publicinterfaceSender{publicvoidSend();}其次,创建实现类:publicclassMailSenderimplementsSender{@OverridepublicvoidS
- AP AUTOSAR 中文版标准资料文档
搞一下汽车电子
AUTOSARAPAUTOSAR自适应AUTOSAR中文标准AUTOSAR中文AUTOSAR中文版
APGeneralEXPAdaptivePlatformInterfacesGuideline(接口使用指南)中文标准(点击跳转)EXPParallelProcessingGuidelines(并行处理指南)中文标准(点击跳转)EXPPlatformDesign(平台设计)中文标准(点击跳转)EXPSWArchitecture(软件架构)中文标准(点击跳转)RSCPP14Guidelines(C+
- Mybatis简单架构之静态SQL语句
Cyanto
Mybatismybatis架构sql
dao层:packagecom.qcby.dao;importcom.qcby.entity.Student;importcom.qcby.entity.User;importjava.util.List;publicinterfaceStudentDao{ListfindAll();Integerdelete(Integerid);StudentfindById(Integerid);Listf
- C#面试问题2
端阳月七
C#之MVC5学习c#开发语言
32.Whatispolymorphism多态性:Thereisonelist,butit'selementscantakemanyforms.thederivedtypescanbuusedinplaceofthebasetype.WhatmechanismsinC#allowustousepolymorphism?interfaces,abstractclasses,inheritance,v
- 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节点最多