- (ES Modules)prettier格式化typescript源码
小猿L
typescriptjavascript前端
1.安装prettiernpmiprettier2.引入import{format}from'prettier';importparserTypeScriptfrom'prettier/plugins/typescript';importparserEsTreefrom'prettier/plugins/estree.mjs';3.使用constformattedTsDefinitions=awa
- 预览pdf,word等
cypking
前端
https://view.officeapps.live.com/op/view.aspx?src=${encodeURIComponent(documentFile)}
- Docker 与 Docker Compose 的联系与区别,迁移项目时有什么不同吗?
Ven%
简单说深度学习docker实用linux命令实用系列dockereureka容器
Docker与DockerCompose的联系与区别联系:底层依赖:DockerCompose是基于Docker的工具,依赖Docker引擎运行。容器管理:两者均用于容器化应用的部署和管理。配置共享:DockerCompose的docker-compose.yml文件本质上是对多个Docker命令的封装和组合。区别:特性DockerDockerCompose适用场景单容器部署多容器应用(微服务架构
- Linux利用PROMPT_COMMAND实现审计功能
yes_is_ok
linuxlinuxhistory记录
Linux利用PROMPT_COMMAND实现审计功能这个系统审计,记录什么用户,在什么时间,做了什么操作。然后将查到的信息记录到一个文件里。一.配置1.在/etc/profile文件的最后,添加如下2行代码:exportHISTORY_FILE=/var/log/history/`date'+%Y%m'`.logexportPROMPT_COMMAND='{date"+%Y-%m-%d%T###
- 【MATLAB源码-第164期】基于matlab的轴承故障三种谱图:细化谱,功率谱,倒谱对比分析仿真。
Matlab程序猿小助手
通信原理matlab开发语言算法机器人人工智能机器学习计算机视觉
操作环境:MATLAB2022a1、算法描述轴承故障分析是一种重要的维护和监控手段,能够帮助工程师及时发现和解决轴承在运行中可能遇到的各种问题。在轴承故障诊断中,通常会使用到三种谱图分析方法:细化谱(FineSpectrum)、功率谱(PowerSpectrum)和倒谱(Cepstrum)分析。这三种方法各有特点,适用于不同的故障类型和分析场景。以下是对这三种谱图的详细描述。细化谱分析理论基础细化
- pycharm ssh 远程连接docker 容器 进行debug调试代码
Panesle
pycharmsshdocker
pycharmssh远程连接docker容器进行debug调试代码1.用镜像启动好一个容器2.安装ssh工具aptupdateapt-getinstall-yopenssh-server3.配置ssh的config文件vim/etc/ssh/sshd_config配置修改好(端口、登陆权限):Port3210PermitRootLoginyesPasswordAuthenticationyes4.
- 在Github上创建项目 并关联本地文件夹教程
小熊猫程序猿
githubgit
#在github上的操作#登录GitHub账号:访问GitHub并登录账号点击“New”创建新仓库:登录后,在页面的右上角点击"+"图标,然后选择"Newrepository"填写仓库信息:Repositoryname:输入项目名称。Description(可选):简短描述项目。Visibility:选择公开(Public)或私有(Private)。Initializethisrepository
- 深入理解Kettle:ETL工具的学习与实践
未知方程 无解
本文还有配套的精品资源,点击获取简介:Kettle(Spoon)是Pentaho公司开发的开源ETL工具,用于数据整合和数据仓库建设。本学习笔记着重于Kettle的核心——转换引擎,详细探讨其数据处理的各个步骤,包括数据的输入、转换、输出以及工作原理,提供了一系列的学习资源和实践操作指南,旨在帮助学习者深入理解并掌握Kettle的转换引擎,从而提升数据处理能力。1.Kettle(Spoon)简介与
- 数据集/API 笔记:新加坡最新的停车场可用车位信息 & 停车场信息
UQI-LIUWJ
笔记
数据每分钟更新一次使用date_time参数可获取特定时间点的最新停车场可用车位信息调用接口curl--requestGET\--urlhttps://api.data.gov.sg/v1/transport/carpark-availability调用结果API返回的查询时间"2025-03-04T09:10:36+08:00"代表的是API查询的时间,但每个停车场的update_datetim
- java.util中的Scanner类
鼬猿
java开发语言intellij-idea
Scanner类可以用于从各种来源(如标准输入、文件、字符串等)读取不同类型的数据。它提供了各种方法来解析和提取输入的数据,并将其转换为相应的数据类型。在使用Scanner之前,需要先通过import语句导入java.util.Scanner类。创建了一个Scanner对象并传入System.in作为输入源,表示从标准输入中读取数据。例:Scanner变量名=newScanner(System.i
- 获取视频第一帧兼容ios
小政爱学习!
音视频ios
js封装:/***获取视频第一帧的方法,并将画面转换成base64格式*@param{String}url视频的URL,可以是base64格式*@return{Promise}一个Promise对象,返回值为视频第一帧的base64数据*/exportfunctiongetVideoBase64(url){returnnewPromise((resolve,reject)=>{//创建video元
- python: DDD using postgeSQL and SQL Server
geovindu
Pythonpythonjava前端数据库postgresqlsqlservermssql
postgreSQL注意:#psycopg2驱动的连接字符串#engine=create_engine('postgresql://post:geovindu@localhost:5433/TechnologyGame')#Session=sessionmaker(bind=engine)#使用psycopg3驱动的连接字符串#engine=create_engine('postgresql+ps
- CD刻录的一点个人经验:铭大、铼德、三菱、万盛, Nero、Burnatonce、Burrrn、Feurio
System_sleep
CD刻录CD音乐刻录FeurioBurnatonceCD刻录碟Nero
基本信息操作系统win1021H119043刻录机型号ASUSSDRW-08D3S-U(USB2.0外置)最低x10碟片信息1.铭大金碟(MNDA)江南水乡,制造商Plasmondatasystemsltd.ShortStrategyTypePhthalocyanine2.三菱AZO水蓝,制造商MitsubishChemicalCorporationLongStrategyTypeCyanine3
- K8s 端口转发实战指南(Practical Guide to k8s Port Forwarding)
Linux运维老纪
天涯海角k8s伴你同行kubernetes容器云原生运维开发分布式
K8s端口转发实战指南1.背景1.1Kubernetes网络隔离性挑战在Kubernetes集群中,所有资源都运行在私有网络空间(通常使用CNI插件构建overlay网络),这带来了以下调试难题:Pod使用动态IP地址(生命周期短暂)Service的ClusterIP仅在集群内部可达生产环境通常禁用NodePort等暴露方式1.2典型使用场景场景类型具体案例传统方案痛点本地开发调试访问未暴露的We
- 如何用postman设置接口测试关联
海姐软件测试
postmanpostman测试工具
一、提取响应数据(Tests脚本)在第一个请求的Tests标签中编写脚本,提取需要关联的数据://示例1:提取JSON响应中的tokenletresponseData=pm.response.json();pm.environment.set("token",responseData.token);//保存到环境变量//示例2:提取cookiespm.environment.set("sessio
- 迷你世界api 系统事件
yonghumyicunzai
游戏游戏游戏开发
迷你世界api系统事件游戏活动管理只需添加需要监视的事件,而无需创建事件对象,如下所示:--GameEvent---ScriptSupportEvent:registerEvent([=[Game.Start]=],Game_StartGame)ScriptSupportEvent:registerEvent([=[Game.Run]=],Game_Update)ScriptSupportEven
- 如何在 Conda 环境中使用 PySide6 将 .ui 文件转换为 .py 文件
元素之窗
condaui
如何在Conda环境中使用PySide6将.ui文件转换为.py文件在PyQt或PySide6开发中,通常会使用QtDesigner设计UI界面,并生成.ui文件。但为了在Python代码中使用这些UI设计,我们需要将.ui文件转换为.py文件。本文将介绍如何在Conda环境中使用PySide6进行转换。1.确保Conda环境已激活在PowerShell或命令行中,首先激活你的Conda环境,例如
- 【踩坑日记23】UserWarning: Plan failed with a cudnnException: CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR
longii11
python人工智能
问题描述/mnt/lab/XXX/anaconda3/envs/diffusion_ddpo/lib/python3.10/site-packages/torch/nn/modules/conv.py:456:UserWarning:PlanfailedwithacudnnException:CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR:cudnnFinalize
- 【踩坑日记34】FutureWarning: You are using `torch.load` with `weights_only=False` (the current default val
longii11
python
问题描述FutureWarning:Youareusing`torch.load`with`weights_only=False`(thecurrentdefaultvalue),whichusesthedefaultpicklemoduleimplicitly.Itispossibletoconstructmaliciouspickledatawhichwillexecutearbitraryc
- python找色_Python获取图片位置像素色值及判断色值是否存在
weixin_39966941
python找色
#!/usr/bin/python#-*-coding:utf-8-*-fromPILimportImage#涛哥用代码看是那的错https://blog.kydbk.comimg=Image.open("test.png")#获取图片尺寸的大小(600,600)printimg.size#获取图片的格式pngprintimg.format#获取图片的图像类型RGBAprintimg.mode#显
- 将返回的json数据存储为json文件
小凳子在线
json
背景:想下载行政区域数据,网站:unpkg.com/
[email protected]/dist/data.json返回json数据(代码由通义生成,此处仅作为记录)工具类://src/utils/downloadData.jsexportasyncfunctiondownloadData(url,filename){try{constresponse=awaitfetch(url
- React:Axios、Fetch-Jsonp获取API接口数据
今天也很棒棒~
Reactreact.jsjavascriptjson
不同模块可登录npm,搜索对应方法有官方文档https://www.npmjs.com/Axios步骤:{/*axios1.npminstallaxios--save安装axios模块2.importaxiosfrom'axios';3.varapi='http://www.phonegap100.com/appapi.php?a=getPortalList&catid=20';//接口后台允许了
- 【AI辅助工具】Trae和Cursor 对比分析
Hello kele
人工智能AI编程
Trae和Cursor都是旨在提升编程效率的AI辅助工具,但在功能、定位和用户体验上有所差异。Trae:Trae是字节跳动推出的AI集成开发环境(IDE),专为中文开发者设计,提供全中文界面,符合国人使用习惯。主要特点:智能问答与代码自动补全:支持通过自然语言描述需求,自动生成相应的代码,减少手动编写代码的时间。Builder模式:类似于Cursor的Composer功能,帮助用户从零开始构建完整
- 迷你世界脚本事件列表:Event
星空露珠
笔记游戏数据结构lua
事件列表:Event彼得兔更新时间:2024-07-2612:04:51直接添加要监听的事件即可,无需自行创建事件管理对象。具体例子如下:--游戏事件---ScriptSupportEvent:registerEvent([=[Game.Start]=],Game_StartGame)ScriptSupportEvent:registerEvent([=[Game.Run]=],Game_Upda
- React基础之useState
青红光硫化黑
react.jsjavascript前端
useState是一个ReactHook(函数),它允许我们向组件添加一个状态变量,从而控制组件的渲染效果import{useState}from"react"//使用useState实现计数器按钮functionApp(){//count是状态变量setcount是修改变量的方法const[count,setCount]=useState(0)//点击事件回调consthandleClick=(
- 数据结构与算法--实现链表的复制(链表中节点比较特殊,含有一个rand指针,指向任意一个节点)
请叫我大虾
数据结构链表数据结构
已在leetcode上执行通过//https://leetcode.com/problems/copy-list-with-random-pointer/leetcode地址publicclassCopyListWithRandom{publicstaticclassNode{intval;Nodenext;Noderandom;publicNode(intval){this.val=val;th
- 【python】软件更新:用conda或Poetry
无水先生
AI原理和python实现python指南和应用人工智能综合pythonconda开发语言
一、说明在实现anancoda的软件更新问题,需要明确几个问题:1)是python包吗?2)是C++包吗?更新的方法有别。python包可以pip访问。C++包必须是conda访问。二、更新C++包的循环依赖问题如果在Windows10上的Ananconda3.7上安装和更新软件包。运行代码时:condaupdate--all或者condainstallpandas收到以下错误:RemoveErr
- MGT204 Corporate Finance
后端
MGT204CorporateFinance&PortfolioValuationIndividualassignmentWeighting-100%ofthemarksforthismoduleThisisanindividualassignmentof2,500wordsforguidancepurposes.Thehandindateis:Tuesday20thMay2025by4.00pm
- 【五.LangChain技术与应用】【31.LangChain ReAct Agent:反应式智能代理的实现】
再见孙悟空_
AI进阶之旅》langchainLangChain技术LangChain输出解析器人工智能langchain官方工具Agent案例2
一、ReActAgent是啥?为什么说它比「普通AI」聪明?想象一下,你让ChatGPT查快递物流,它可能直接编个假单号糊弄你。但换成ReActAgent,它会先推理(Reasoning)需要调用哪个接口,再行动(Action)查询真实数据——这就是ReAct的核心:让AI学会「动脑子」再动手。举个真实案例(参考官方代码改的):fromlangchain.agentsimportTool,init
- 大型项目,选择conda还是Poetry要点分析
Hello kele
condaPythonPoetryAI编程人工智能
在大型项目中选择conda还是Poetry,取决于项目的具体需求,以下从多个维度进行分析,助你判断哪个更合适:包管理方面支持的包类型conda:作为跨语言的包管理系统,不仅能管理Python包,还能处理其他语言(如C、C++、R等)的包和依赖。对于大型项目,尤其是涉及多语言协同开发的项目,比如数据科学项目中可能会用到Python进行数据分析,同时依赖底层用C语言编写的高性能计算库,conda可以很
- JAVA基础
灵静志远
位运算加载Date字符串池覆盖
一、类的初始化顺序
1 (静态变量,静态代码块)-->(变量,初始化块)--> 构造器
同一括号里的,根据它们在程序中的顺序来决定。上面所述是同一类中。如果是继承的情况,那就在父类到子类交替初始化。
二、String
1 String a = "abc";
JAVA虚拟机首先在字符串池中查找是否已经存在了值为"abc"的对象,根
- keepalived实现redis主从高可用
bylijinnan
redis
方案说明
两台机器(称为A和B),以统一的VIP对外提供服务
1.正常情况下,A和B都启动,B会把A的数据同步过来(B is slave of A)
2.当A挂了后,VIP漂移到B;B的keepalived 通知redis 执行:slaveof no one,由B提供服务
3.当A起来后,VIP不切换,仍在B上面;而A的keepalived 通知redis 执行slaveof B,开始
- java文件操作大全
0624chenhong
java
最近在博客园看到一篇比较全面的文件操作文章,转过来留着。
http://www.cnblogs.com/zhuocheng/archive/2011/12/12/2285290.html
转自http://blog.sina.com.cn/s/blog_4a9f789a0100ik3p.html
一.获得控制台用户输入的信息
&nbs
- android学习任务
不懂事的小屁孩
工作
任务
完成情况 搞清楚带箭头的pupupwindows和不带的使用 已完成 熟练使用pupupwindows和alertdialog,并搞清楚两者的区别 已完成 熟练使用android的线程handler,并敲示例代码 进行中 了解游戏2048的流程,并完成其代码工作 进行中-差几个actionbar 研究一下android的动画效果,写一个实例 已完成 复习fragem
- zoom.js
换个号韩国红果果
oom
它的基于bootstrap 的
https://raw.github.com/twbs/bootstrap/master/js/transition.js transition.js模块引用顺序
<link rel="stylesheet" href="style/zoom.css">
<script src=&q
- 详解Oracle云操作系统Solaris 11.2
蓝儿唯美
Solaris
当Oracle发布Solaris 11时,它将自己的操作系统称为第一个面向云的操作系统。Oracle在发布Solaris 11.2时继续它以云为中心的基调。但是,这些说法没有告诉我们为什么Solaris是配得上云的。幸好,我们不需要等太久。Solaris11.2有4个重要的技术可以在一个有效的云实现中发挥重要作用:OpenStack、内核域、统一存档(UA)和弹性虚拟交换(EVS)。
- spring学习——springmvc(一)
a-john
springMVC
Spring MVC基于模型-视图-控制器(Model-View-Controller,MVC)实现,能够帮助我们构建像Spring框架那样灵活和松耦合的Web应用程序。
1,跟踪Spring MVC的请求
请求的第一站是Spring的DispatcherServlet。与大多数基于Java的Web框架一样,Spring MVC所有的请求都会通过一个前端控制器Servlet。前
- hdu4342 History repeat itself-------多校联合五
aijuans
数论
水题就不多说什么了。
#include<iostream>#include<cstdlib>#include<stdio.h>#define ll __int64using namespace std;int main(){ int t; ll n; scanf("%d",&t); while(t--)
- EJB和javabean的区别
asia007
beanejb
EJB不是一般的JavaBean,EJB是企业级JavaBean,EJB一共分为3种,实体Bean,消息Bean,会话Bean,书写EJB是需要遵循一定的规范的,具体规范你可以参考相关的资料.另外,要运行EJB,你需要相应的EJB容器,比如Weblogic,Jboss等,而JavaBean不需要,只需要安装Tomcat就可以了
1.EJB用于服务端应用开发, 而JavaBeans
- Struts的action和Result总结
百合不是茶
strutsAction配置Result配置
一:Action的配置详解:
下面是一个Struts中一个空的Struts.xml的配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
&quo
- 如何带好自已的团队
bijian1013
项目管理团队管理团队
在网上看到博客"
怎么才能让团队成员好好干活"的评论,觉得写的比较好。 原文如下: 我做团队管理有几年了吧,我和你分享一下我认为带好团队的几点:
1.诚信
对团队内成员,无论是技术研究、交流、问题探讨,要尽可能的保持一种诚信的态度,用心去做好,你的团队会感觉得到。 2.努力提
- Java代码混淆工具
sunjing
ProGuard
Open Source Obfuscators
ProGuard
http://java-source.net/open-source/obfuscators/proguardProGuard is a free Java class file shrinker and obfuscator. It can detect and remove unused classes, fields, m
- 【Redis三】基于Redis sentinel的自动failover主从复制
bit1129
redis
在第二篇中使用2.8.17搭建了主从复制,但是它存在Master单点问题,为了解决这个问题,Redis从2.6开始引入sentinel,用于监控和管理Redis的主从复制环境,进行自动failover,即Master挂了后,sentinel自动从从服务器选出一个Master使主从复制集群仍然可以工作,如果Master醒来再次加入集群,只能以从服务器的形式工作。
什么是Sentine
- 使用代理实现Hibernate Dao层自动事务
白糖_
DAOspringAOP框架Hibernate
都说spring利用AOP实现自动事务处理机制非常好,但在只有hibernate这个框架情况下,我们开启session、管理事务就往往很麻烦。
public void save(Object obj){
Session session = this.getSession();
Transaction tran = session.beginTransaction();
try
- maven3实战读书笔记
braveCS
maven3
Maven简介
是什么?
Is a software project management and comprehension tool.项目管理工具
是基于POM概念(工程对象模型)
[设计重复、编码重复、文档重复、构建重复,maven最大化消除了构建的重复]
[与XP:简单、交流与反馈;测试驱动开发、十分钟构建、持续集成、富有信息的工作区]
功能:
- 编程之美-子数组的最大乘积
bylijinnan
编程之美
public class MaxProduct {
/**
* 编程之美 子数组的最大乘积
* 题目: 给定一个长度为N的整数数组,只允许使用乘法,不能用除法,计算任意N-1个数的组合中乘积中最大的一组,并写出算法的时间复杂度。
* 以下程序对应书上两种方法,求得“乘积中最大的一组”的乘积——都是有溢出的可能的。
* 但按题目的意思,是要求得这个子数组,而不
- 读书笔记-2
chengxuyuancsdn
读书笔记
1、反射
2、oracle年-月-日 时-分-秒
3、oracle创建有参、无参函数
4、oracle行转列
5、Struts2拦截器
6、Filter过滤器(web.xml)
1、反射
(1)检查类的结构
在java.lang.reflect包里有3个类Field,Method,Constructor分别用于描述类的域、方法和构造器。
2、oracle年月日时分秒
s
- [求学与房地产]慎重选择IT培训学校
comsci
it
关于培训学校的教学和教师的问题,我们就不讨论了,我主要关心的是这个问题
培训学校的教学楼和宿舍的环境和稳定性问题
我们大家都知道,房子是一个比较昂贵的东西,特别是那种能够当教室的房子...
&nb
- RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系
daizj
oraclermanfilespersetPARALLELISM
RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系 转
PARALLELISM ---
我们还可以通过parallelism参数来指定同时"自动"创建多少个通道:
RMAN > configure device type disk parallelism 3 ;
表示启动三个通道,可以加快备份恢复的速度。
- 简单排序:冒泡排序
dieslrae
冒泡排序
public void bubbleSort(int[] array){
for(int i=1;i<array.length;i++){
for(int k=0;k<array.length-i;k++){
if(array[k] > array[k+1]){
- 初二上学期难记单词三
dcj3sjt126com
sciet
concert 音乐会
tonight 今晚
famous 有名的;著名的
song 歌曲
thousand 千
accident 事故;灾难
careless 粗心的,大意的
break 折断;断裂;破碎
heart 心(脏)
happen 偶尔发生,碰巧
tourist 旅游者;观光者
science (自然)科学
marry 结婚
subject 题目;
- I.安装Memcahce 1. 安装依赖包libevent Memcache需要安装libevent,所以安装前可能需要执行 Shell代码 收藏代码
dcj3sjt126com
redis
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
前面3步应该没有问题,主要的问题是执行make的时候,出现了异常。
异常一:
make[2]: cc: Command not found
异常原因:没有安装g
- 并发容器
shuizhaosi888
并发容器
通过并发容器来改善同步容器的性能,同步容器将所有对容器状态的访问都串行化,来实现线程安全,这种方式严重降低并发性,当多个线程访问时,吞吐量严重降低。
并发容器ConcurrentHashMap
替代同步基于散列的Map,通过Lock控制。
&nb
- Spring Security(12)——Remember-Me功能
234390216
Spring SecurityRemember Me记住我
Remember-Me功能
目录
1.1 概述
1.2 基于简单加密token的方法
1.3 基于持久化token的方法
1.4 Remember-Me相关接口和实现
- 位运算
焦志广
位运算
一、位运算符C语言提供了六种位运算符:
& 按位与
| 按位或
^ 按位异或
~ 取反
<< 左移
>> 右移
1. 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。
例如:9&am
- nodejs 数据库连接 mongodb mysql
liguangsong
mongodbmysqlnode数据库连接
1.mysql 连接
package.json中dependencies加入
"mysql":"~2.7.0"
执行 npm install
在config 下创建文件 database.js
- java动态编译
olive6615
javaHotSpotjvm动态编译
在HotSpot虚拟机中,有两个技术是至关重要的,即动态编译(Dynamic compilation)和Profiling。
HotSpot是如何动态编译Javad的bytecode呢?Java bytecode是以解释方式被load到虚拟机的。HotSpot里有一个运行监视器,即Profile Monitor,专门监视
- Storm0.9.5的集群部署配置优化
roadrunners
优化storm.yaml
nimbus结点配置(storm.yaml)信息:
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional inf
- 101个MySQL 的调节和优化的提示
tomcat_oracle
mysql
1. 拥有足够的物理内存来把整个InnoDB文件加载到内存中——在内存中访问文件时的速度要比在硬盘中访问时快的多。 2. 不惜一切代价避免使用Swap交换分区 – 交换时是从硬盘读取的,它的速度很慢。 3. 使用电池供电的RAM(注:RAM即随机存储器)。 4. 使用高级的RAID(注:Redundant Arrays of Inexpensive Disks,即磁盘阵列
- zoj 3829 Known Notation(贪心)
阿尔萨斯
ZOJ
题目链接:zoj 3829 Known Notation
题目大意:给定一个不完整的后缀表达式,要求有2种不同操作,用尽量少的操作使得表达式完整。
解题思路:贪心,数字的个数要要保证比∗的个数多1,不够的话优先补在开头是最优的。然后遍历一遍字符串,碰到数字+1,碰到∗-1,保证数字的个数大于等1,如果不够减的话,可以和最后面的一个数字交换位置(用栈维护十分方便),因为添加和交换代价都是1