题目描述nums1中数字x的下一个更大元素是指x在nums2中对应位置右侧的第一个比x大的元素。给你两个没有重复元素的数组nums1和nums2,下标从0开始计数,其中nums1是nums2的子集。对于每个0<=i
信息学奥赛-一本通-第二部分 基础算法 --> 第五章 搜索与回溯算法
攻城丶狮
C++比赛信息算法深度优先图论c++青少年编程
1317:【例5.2】组合的输出【题目描述】排列与组合是常用的数学方法,其中组合就是从n个元素中抽出r个元素(不分顺序且r≤n),我们可以简单地将n个元素理解为自然数1,2,…,n,从中任取r个数。现要求你用递归的方法输出所有组合。例如n=5,r=3,所有组合为:123124125134135145234235245345【题目分析】1.搜索函数参数:上一次搜索的数字i(i(n)>=i(n-1))
Python 数据分析与可视化:从基础到进阶的技术实现与优化策略
女码农的重启
python数据分析开发语言
数据分析与可视化是数据科学领域的核心技能,Python凭借其丰富的库生态和灵活的编程范式,成为该领域的首选工具。本文将系统讲解Python数据分析与可视化的技术栈实现,从基础操作到性能优化,结合实战场景提供可复用的解决方案。数据分析核心库技术解析Pandas数据处理引擎原理Pandas作为数据分析的基石,其核心优势在于基于NumPy的矢量运算和高效的内存管理。与Excel的单元格级操作不同,Pan
AI-Compass宝藏资源库
AI-Compass宝藏资源库:构建最全面的AI学习与实践生态,服务AI全群体AI-Compass致力于构建最全面、最实用、最前沿的AI技术学习和实践生态,通过六大核心模块的系统化组织,为不同层次的学习者和开发者提供从完整学习路径。github地址:AI-Compass:https://github.com/tingaicompass/AI-Compassgitee地址:AI-Compass:ht
要有一点大格局
朱黎亮
芦北听课后的反思,2019年1月16日重新输入从这两天(2018年11.27-28日)的督学活动中(芦北一次听刘老师听、评课以及壶山学区督学活动)发现自己的视野过多的关注在小问题和小细节、或者是具体的问题上,而缺乏一定的眼界,缺乏一定的高度。不是说细节不好,而是关注点小了后,觉得格局也小了。打球也是如此,感觉自己太“小”,总希望用一些“小范围”的倒腾来突破局面,而忘记了打破僵局靠的还是正面强硬的手
gin数据解析和绑定
rit8432499
giniphoneios
go代码packagemainimport("net/http""github.com/gin-gonic/gin")//定义接收JSON数据的结构体typeLoginstruct{Usernamestring`form:"username"json:"username"uri:"username"xml:"username"binding:"required"`Passwordstring`fo
如果你是管理者,你会怎样动员大家出镜,为公司拍抖音呢?
职男小凡
自打抖音出现以来,短视频这种内容形式,可谓是火的一塌糊涂,不光是巨头们纷纷加入战场,一些网感好的企业,也开始加入抖音大军,为自己的品牌和产品,增加了不少曝光的机会。但是很多荒诞的事情也就此发生,昨天和一位95后的网友聊天,她对我说,老板要求公司全体员工出镜,给客户录制拜年短视频,并且今后就把短视频运营,作为日常工作的一项,纳入绩效考核,每个人都必须参与。她说这已经不是老板第一次提出要拍抖音了,之前
零基础英语学习之旅-语法篇(一)
万能的小黑学长
入坑,从今天开始持续更新英语学习方法,剥丝抽茧,去除繁琐的语法概念,让大家,快速入门。花最少的时间,学最重要的东西。欢迎大家批评指正、多提意见。话不多说,直接进入正题。。。英语句子的基本五大结构主语:谓语动词之前的成分。Toseeistobelieve.Theflowersmellsgreat.谓语:谓语就是动词动词主要类型:1.实义动词2.系动词be动词等同于be动词3.助动词帮助动词实现时态和
【剽悍一只猫的剽悍行动营】22天,和孩子一起成长
财务自由的社群运营人苏宝
文/Janice2018年春节后,是我人生最黑暗的时候。大娃数学老师投诉她没有完成家庭作业、不交作业,接着是英语老师、语文老师的电话投诉。而我需要花大部分时间在新项目上,没有时间管娃,又与新来的领导在项目管理上有较大分歧,导致关系紧张,心情极度低落。工作上不如意,娃又不消停。每天下班累得半死,还得盯着她学习;好好学习的道理讲了几箩筐,孩子就是说不听,那时的我就像一个炸药桶,只要给我一点火花就能燃爆
力扣 hot100 Day46
qq_51397044
Hot100leetcode算法
199.二叉树的右视图给定一个二叉树的根节点root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。//自己写的classSolution{public:vectorrightSideView(TreeNode*root){vectorresult;if(!root)returnresult;queueq;q.push(root);while(!q.empty()){i
Python 字典(dict)和集合(set)新手指南
一、字典(dict)基础什么是字典?字典就像现实中的字典一样,通过"键(key)"快速查找对应的"值(value)"。#创建字典student_scores={"小明":90,"小红":85,"小刚":92}#查找成绩print(student_scores["小明"])#输出:90为什么字典查找快?字典使用哈希表实现,查找速度是O(1)级别,不会随着数据量增加而变慢。二、字典常用操作1.添加/修
力扣 hot100 Day40
qq_51397044
Hot100leetcode算法职场和发展
23.合并K个升序链表给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。//自己写的垃圾classSolution{public:ListNode*mergeKLists(vector&lists){vectorrecord;intn=lists.size();for(inti=0;ival);lists[i]=lists[i]->next;}}if
2019-04-24
杰哥大宁
1.付出不亚于任何人的努力2.要谦虚,不要骄傲3.要每天反省4.活着,就要感谢5.积善行,思利他6.不要有感性的烦恼今日分享,泰优汇的小伙伴越来越多了,压力变动力,按照周姐指导的方针,一步一步来,一定会做好的,接下来努力跑电销和4s店
微服务能解决高并发?高并发微服务架构详解:本质、痛点与标准化解决方案
在过去几年中,很多企业希望通过微服务架构来“提升系统性能、支撑高并发”,但在实践中却经常遇到失败的微服务改造,原因大多是对微服务的理解存在偏差。微服务从来不是为了解决高并发问题而存在的,它真正解决的是大规模系统协作标准化和演化解耦的问题。本文将结合一个真实的在线教育平台案例,详细讲解微服务架构的本质作用、技术设计与演进路径。一、微服务不是用来“抗高并发”的某大型在线教育平台在最初上线时,采用的是典
UGUI 性能优化系列:第三篇——渲染与像素填充率优化
吉良吉影NeKoSuKi
性能优化unity游戏引擎c#开发语言
在UnityUGUI性能优化之旅中,我们已经学习了基础的资源管理和Canvas与UI元素的管理。现在,我们将把目光转向更深层次的渲染层面,特别是如何优化像素填充率(PixelFillRate)。在这个环节中,Overdraw(过度绘制)是一个我们必须理解和解决的关键问题,因为它直接关系到GPU的工作效率。一、Overdraw(过度绘制)的危害与检测1.什么是Overdraw?为什么会影响性能?想象
浅谈MySQL SQL优化的底层原理
干净的坏蛋
mysqlsql数据库
深入理解MySQL的SQL优化底层原理,需要从查询的执行流程出发,结合优化器原理、执行计划生成机制、索引原理和存储引擎行为全面剖析。以下是完整的底层视角分析:✅一、MySQLSQL查询的底层执行流程客户端->SQL解析器->查询优化器->执行器->存储引擎(如InnoDB)1.SQL解析(Parser)词法分析+语法分析→生成抽象语法树(AST)比如:识别出SELECT、FROM、WHERE、字段
Microsoft Word 中 .doc 和 .docx 的区别
干净的坏蛋
microsoftword
MicrosoftWord中.doc和.docx的区别解释MicrosoftWord中.doc和.docx文件格式的区别。这些格式都是Word处理文档的标准,但它们在结构、兼容性和功能上存在显著差异。下面我将详细说明。1.基本定义.doc:这是MicrosoftWord的旧格式(也称为Word97-2003格式),从Word的早期版本(如MS-DOS时代)一直使用到Word2003。它是一种二进制
Redis 之数据过期策略
JiaHao汤
Redisredis数据库缓存
文章目录定时删除惰性删除Redis中有惰性删除与定时删除两种数据删除策略。Redis将这两种策略结合使用,是为了在性能和内存管理之间取得平衡。惰性删除策略减少了CPU开销,而定时删除策略则能及时清理部分过期键,避免大量过期键长时间占用内存。这样既保证了Redis的高性能,又能有效地管理内存资源。TTL指令说明Redis是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令获取其
孩子第一次牙疼
阳光旅社
2019.9.5晚上睡觉孩子说有点牙疼,没有过多在意,爸爸让用漱口水漱口,孩子安心上床睡觉了!夜里隐隐约约听到卫生间有水流声,孩子说他牙疼醒来了,自己自觉漱口后又上床睡去了,过了几秒钟又到厨房拿水喝水。我看了看手机,现在是凌晨3点半!悄悄地和我说,妈妈我牙疼!我起来,拿了一颗止疼药,看他服下,睡在他身边。孩子翻来覆去,怎么都睡不着,我努力撑着困劲儿和他聊天,安慰他,告诉他妈妈小时候也牙疼过,体会过
MySQL MVCC解密:多版本并发控制的魔法世界
码农技术栈
MySQLmysql数据库开发语言javajvm后端性能优化
当多个用户同时读写数据库时,MySQL如何避免数据混乱?本文将揭开MVCC的神秘面纱,带你探索这个让数据库高并发运行的魔法引擎!一、为什么需要MVCC?并发控制的困境想象图书馆借阅场景:传统方式:一本书只能一个人看(锁机制)MVCC方式:复印多份,每人看不同版本(多版本控制)传统锁机制的痛点:事务A读数据加锁事务B写数据等待锁释放长时间等待系统卡顿二、MVCC是什么?时间旅行的艺术MVCC核心概念
Agent架构解析及分布式Agent协作方案
来源:AI大模型应用实践AIAgent(智能体)系统发展迅猛,且关注点已经不再局限在Agent的规划推理等基本能力,智能体系统在扩展性、互操作、安全性等工程化方面的挑战也越来越引起重视,比如最近的MCP和A2A。上一篇我们介绍了A2A,今天接着再聊聊分布式Agent系统的话题。Agent模式架构解析Agent有效减少人类工作总量,人与AI协作才是最终形态。人类与AI交互可大致分为三种模式。Embe
2019.1.19
LT婷_420期
姓名:罗婷婷公司:海南蔚蓝时代实业有限公司组别:第420期努力4组(参加培训时的组名)【日精进打卡第173天】【知~学习】《六项精进》大纲1遍共278遍《大学》遍1共278遍课外阅读书籍《别让沉不住气毁了你》每周读30页,截止今日完成45页。【经典名句分】不要有感性的烦恼【行~实践】一、修身:(对自己个人)早起吃早餐喝温开水坚持每天吃点水果二、齐家:(对家庭和家人)和妈妈聊天三、建功:(对工作)例
读《我们仨》有感
露娜2005
最近终于把杨绛的《我们仨》这本书读完。这本书是杨绛在她女儿和先生钱钟书先后去世之后,为了回顾她们仨在一起的将近60年的时光而整理的。《我们仨》的初稿是她女儿钱媛在病床上手写了一部份,因为她们出自书香门第,而且在各自的领域也是独树一帜的学界巨擘,热爱读书,一直都有用书写记录生活的习惯。因此也就有了这本朴实无华的著作,记录了她们仨十分有爱的日常生活片段。用杨绛先生自己的话说就是:“现在我们仨个失散了。
科研项目管理工具,如何创建控制日志
cc6b6903e5d1
项目管理者使用工作计划来管理拟完成的任务,但项目期间出现的计划外任务和障碍也必须得到管理,控制日志就是用于跟踪它们的工具。工作计划和控制日志的结合使用,可以确保跟踪100%的项目工作,并且也应该是用于跟踪项目的唯一工具。在工作计划完成并且被当成项目的管理基准之后,项目团队就可以着手确定完成项目所必需的“额外任务”。要注意,这些任务并没有超出项目的工作范围,它们是工作计划中遗漏的任务,并且需要在启动
2020-04-20
心存感恩青岛
尊敬的班主任、教练,各位班委、队长:大家晚上好!我是秘书部的荆桂梅,我来自红瓦绿树碧海蓝天的美丽的青岛。非常高兴今天晚上和大家在空中相遇。今天的班会主办部门是部,非常感恩秘书部部长黄金虹师姐给我这个锻炼成长的机会!非常感恩教练我的教练瑞先师姐给我的指导!非常感恩班主任、教练、班委成员为了队员的成长,无私地大爱付出!同时也真诚地向今天晚上的服务大臣们致敬!他们是:让我们把鲜花和掌声送给各位服务大臣!
重学Java并发编程(LockSupport的使用)
豌豆日记
Java多线程JAVA多线程并发编程
前言:本文中的代码基于JDK1.8LockSupport是什么?LockSupport定义了一组公共的静态方法,这些方法提供了最基本的线程阻塞和唤醒功能,LockSupport是成为构建同步工具的基础工具。LockSupport定义了一组以park开头的方法来阻塞当前线程,以及unpark(Threadthread)方法来唤醒一个被阻塞的线程。Park有停车的意思,假设线程为车辆,那么park方法
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