- VGG16滤镜可视化和类激活图
LIjin_1006
人工智能神经网络深度学习cnn
这个用keras2.2.4+tensorflow1.15.0importkeraskeras.__version__fromkeras.applicationsimportVGG16fromkerasimportbackendasKimportnumpyasnpfromkerasimportmodelsimportmatplotlib.pyplotaspltimporttensorflowastf
- 爱心账户之存钱日记11.20
静_d595
新沙发终于到了,满心欢喜,可旧沙发的处理又是个头疼的问题,免费送都没有人要。临时想起来公司那个收垃圾的,看看付费能不能拉走。对方说随便给点都行,我又拿不准,于是就想说88把。对方说给两包烟就行了,我说还是给钱吧,也不想欠人情。如果请专门搬东西的估计得200加了,还算是比较顺利,刚好想到他。选了12元存进我的爱心账户!
- DCGAN中的生成器和识别器代码详解
YYLin-AI
DCGAN深度学习celebatensorflow
#DCGAN中的生成器我自己写的有一个封装好的用于生成器和识别器的卷积操作但是在这个代码中我没有使用我自己的代码#原因想绍一下tensorflow自带的函数所以找了一个以前在书上的代码申明一下这个不是原创但是原来代码中有几处不符合DCGAN的要求所以就做了一些修改转载链接没有就直接写成原创建议看代码之前先看看DCGAN的特点,然后再看代码中如何实这些特点的这样会更有帮助DCGAN(深度卷积的对抗生
- 今年一半以上新增财富来自AI;微软任命Windows和Surface新负责人;GitHub推出代码自动修复工具 | 极客头条
极客日报
人工智能microsoftgithub
「极客头条」——技术人员的新闻圈!CSDN的读者朋友们好,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。整理|苏宓出品|CSDN(ID:CSDNnews)一分钟速览新闻点!字节提速AI:Flow部门下设四大业务线,挖角大批百度阿里员工小米汽车App上线苹果AppStore:可在线购车、远程车控原海思总裁徐文伟官宣退休:1991年加入华为阿里1688全面接入淘宝:将设立专门频道
- 如果可以重新开始,我将如何学习编码(ft. ChatGPT),这是我在 2023 年学习编码的方式
iCloudEnd
2023年是学习编码的好年头。为什么?那么,现在您不需要浪费时间在Google上搜索编码答案,也不需要等待数天才能在StackOverflow上找到您的问题的答案。现在,您可以全天候24小时向ChatGPT询问任何编码问题并快速获得答案。这个AI工具肯定会加快你的学习速度,但你还应该知道其他一些事情,以便在你的编码之旅中走上正确的轨道。
- DIV + CSS 布局:盒子内容超出宽度时,不换行,以滚动条形式水平滑动
01空间
常见场景解决方案csshtml
滚动条水平滚动展示溢出内容htmlcss(less)思路html11112222333344445555666677778888css(less).outer{background-color:#39a9ed;overflow-x:auto;&::-webkit-scrollbar{display:none;}white-space:nowrap;.item{display:inline-bloc
- Android 实现照片抠出人像。
No Promises﹉
android
谢谢阅览、关注!!一、各平台的实现方式:1.Android实现方式:使用图像处理库(如OpenCV):集成OpenCV库,利用其图像处理功能进行边缘检测和图像分割;使用机器学习模型(如TensorFlowLite):集成TensorFlowLite和预训练的人像分割模型;使用第三方API服务:利用如百度AI、腾讯AI等提供的在线API进行图像处理。步骤:集成必要的库或API、加载和处理图像、应用抠
- 每日OJ题_字符串①_力扣14. 最长公共前缀
GR鲸鱼
leetcode算法c++数据结构
目录力扣14.最长公共前缀解析代码1(两两比较)解析代码2(统一比较)力扣14.最长公共前缀14.最长公共前缀难度简单编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1:输入:strs=["flower","flow","flight"]输出:"fl"示例2:输入:strs=["dog","racecar","car"]输出:""解释:输入不存在公共前缀。提
- angular html 文字向上无缝滚动
陌归
样式要重新自己写body{font-size:12px}#demo{overflow:hidden;height:80px;width:280px;margin:90pxauto;position:relative;}#demo1{height:auto;text-align:left;}#demo2{height:auto;text-align:left;}#demo1li,#demo2li{l
- Arduino使用TinyML实现水果识别
亚图跨际
物联网编程Arduinotensorflowarduinotinyml
在本文中,板载手势传感器将用于收集对象识别数据,这些数据将用于创建TensorFlowLite模型,该模型可用于识别特定对象。电路板的接近传感器功能将用于识别物体何时靠近电路板,而RGB传感器用于首先收集物体的颜色数据,然后正确识别物体。这是一个简单的示例,但确实显示了在小型设备上运行TinyML的潜力以及传感器丰富的Arduino蓝牙传感器的强大功能。硬件水果ArduinoIDE准备安装库文件捕
- 机器学习常用框架
碧落&凡尘
机器学习人工智能
机器学习是人工智能的一个重要分支,它通过让计算机系统利用数据自我学习来改进任务执行的能力。在机器学习领域,有许多成熟的框架被广泛使用,这些框架提供了构建和训练机器学习模型的工具。以下是一些常用的机器学习框架:TensorFlow:由Google开发,是一个开源的软件库,用于数据流编程,广泛应用于各类机器学习任务。它支持分布式计算,能够在大规模数据集上训练复杂的模型。PyTorch:由Faceboo
- TensorFlow的介绍和简单案例
科学的N次方
人工智能tensorflow人工智能python
TensorFlow是一个开源的机器学习框架,由Google开发和维护。它旨在使构建和训练机器学习模型变得更加容易,同时提供高度灵活性和可扩展性。TensorFlow基于数据流图的概念。数据流图是一个由节点和边组成的有向图,其中节点表示操作,边表示数据的流动。TensorFlow通过在数据流图中定义操作和变量来表示机器学习模型,并使用图的计算能力进行训练和推理。TensorFlow支持多种机器学习
- 2019-03-28作业
您的名称已被使用
html:zuoye1css:.he{width:45px;height:33px;overflow:hidden;position:relative;margin:50pxauto;}.heimg{/*display:inline-block;*/position:absolute;top:-335px;left:-10px;}.heimg:hover{left:-59px;}.heimg:ac
- 实现两栏布局
ZoeLandia
前端csshtml前端
1.利用浮动将左边元素宽度设为200px,并设置向左浮动将右边元素的margin-left设为200px,宽度为auto(默认为auto,撑满整个父元素).outer{height:100px;}.left{float:left;width:200px;}.right{margin-left:200px;width:auto;}leftright2.浮动+overflow左边元素固定大小,并左浮动
- spring activiti ACT_RE_MODEL
hshpy
spring数据库sql
InSpring,ifyou'rereferringto"activiti"inthecontextofworkfloworbusinessprocessmanagement,it'slikelyyou'reusingtheActivitiBPMN(BusinessProcessModelandNotation)engine.InActiviti,ACT_RE_MODELisoneofthetab
- 下市场第一天
义明m
今天下市场第一天,上午我们大家的状态都很好,完全不胆怯,下午和晚上天气比较冷,在外面有点冻手但步伐依然没停11.20下市场第一天每个第一次做的人都应该被表扬,所以人都很优秀,美美和涂玉的表现让人出乎意料,比想象的自己强大很大
- linux Shell 命令行-02-var 变量
老马啸西风
java
拓展阅读linuxShell命令行-00-intro入门介绍linuxShell命令行-02-var变量linuxShell命令行-03-array数组linuxShell命令行-04-operator操作符linuxShell命令行-05-test验证是否符合条件linuxShell命令行-06-flowcontrol流程控制linuxShell命令行-07-func函数linuxShell命令
- HTML5+CSS3小实例:3D分层图像悬停效果
艾恩小灰灰
实例:3D分层图像悬停效果技术栈:HTML+CSS效果:源码:【html】3D分层图像悬停效果【css】*{/*初始化*/margin:0;padding:0;}body{/*100%窗口高度*/height:100vh;/*弹性布局居中*/display:flex;justify-content:center;align-items:center;overflow:hidden;/*渐变背景*/
- TypeError: parse() got an unexpected keyword argument 'transport_encoding'
凌川江雪
有点尴尬,自安装了ANACONDA和TensorFlow之后,首次在ANACONDAPrompt中用pip命令安装第三方库,然而一大片刺眼的红字就扑面而来,在ANACONDAPrompt中没法用pip命令安装第三方库了?搞了一会儿,没得搞定,最后在CSDN上找到一个简单粗暴而效果拔群的办法:直接在ANACONDAPrompt中安装pip,解决问题!即:condainstallpip
- 阿里云分布式深度学习训练架构Whale
qwfys200
Reading阿里云分布式深度学习
阿里云分布式深度学习训练架构Whale阿里云分布式深度学习训练架构Whale参考文献Whale基于Tensorflow深度学习分布式训练框架|学习笔记Whale:EfficientGiantModelTrainingoverHeterogeneousGPUs阿里云机器学习平台PAI论文高效大模型训练框架Whale入选USENIXATC’22
- 计算机设计大赛 酒店评价的情感倾向分析
iuerfee
python
前言优质竞赛项目系列,今天要分享的是酒店评价的情感倾向分析该项目较为新颖,适合作为竞赛课题方向,学长非常推荐!更多资料,项目分享:https://gitee.com/dancheng-senior/postgraduate概述本文基于7K条携程酒店评价数据为文本数据,将其导入到Keras的模型架构然后进行训练出一个可用于实际场所预测情感的模型。项目所需模块importtensorflowastfi
- beam search原理与常见实现,与直接sample的区别
samoyan
LLM面试transformer面试
目录BeamSearch原理1.基本概念2.工作流程3.特点BeamSearch与直接Sample的区别1.确定性与随机性2.结果多样性3.性能与效率4.应用场景常见的BeamSearch实现1.TensorFlow库2.PyTorch库3.HuggingFace的Transformers库算法库和工具BeamSearch原理1.基本概念BeamSearch是一种启发式图搜索算法,常用于自然语言处
- css基础4
心理师
css基础4CSS高级技巧元素的显示与隐藏在CSS中有三个显示和隐藏的单词比较常见,我们要区分开,他们分别是displayvisibility和overflow。他们的主要目的是让一个元素在页面中消失,但是不在文档源码中删除。最常见的是网站广告,当我们点击类似关闭不见了,但是我们重新刷新页面,它们又会出现和你玩躲猫猫!!display显示display设置或检索对象是否及如何显示。display:
- mac 下 h2o-3 构建
godvan
[TOC]准备工作1、构建环境准备:JDK>=1.7NodejsGradlePythonR.npmPip安装请百度或google构建需要了解Gradle。使用自h2o-flow时需要了解释前端nodejs打包。jdk环境是必须的。需要配置jdk环境变量。2、并通过python软件管理包,安装以下软件Python安装brewinstallpythonpip安装:https://www.runoob.
- 双非二本找实习前的准备day5
广州悠扬
leetcodejava数据结构算法职场和发展
学习目标:每天2-3到简单sql(刷完即止),每天复习代码随想录上的题目3道算法(时间充足可以继续),今天的八股背少一点,MySQL和Redis各1-2道好了,主攻复习是java基础今日碎碎念:1)今天刷SQL以及复习Java基础,就不写算法了,另外就是复习之前的八股力扣刷题SQL力扣1873:1873.计算特殊奖金解答思路:1)本题练习的主要是如何使用正则表达式以及在查询中使用If,当然,也可以
- 父元素flex:1,子元素宽度100%失效的问题
一个巨蟹座的前端
vuejsvue.js前端javascriptcsshtml
今天做项目时遇见一个问题,父元素在设置flex:1来固定宽度撑满时,子元素设置width100%无效。经过尝试发现给父元素及设置flex:1的元素加上width:0可解决。即这样写:.parent{flex:1;width:0;.children{width:100%;overflow-x:scroll;}}但同时遇到了另一个问题,我发现这样设置后,即使width超过之后,横向滚动条依然不出现,经
- Flowable DataObject的使用(flowable自定义流程标题)
骑驴追地瓜
1.DataObject可以做什么在流程定义的时候可以设置数据对象,数据对象的名称会成为流程变量的key,flowable还提供了一个扩展属性value来为数据对象赋值。也就是说在流程定义阶段我们就可以在全局定义一些流程变量(官网解释)。一个比较简单的使用场景就是自定义流程标题,下面我们将以自定义流程标题为例子,讲解DataObject的使用方式。定义方法如下图:图1:image.png图2:im
- Java自学day5
Y木子李
Javajavapython开发语言
流程控制语句流程控制语句:通过一些语句,控制程序的执行流程顺序结构顺序结构语句是Java程序默认的执行流程,按照代码的先后顺序,从上到下依次执行!packageorderdemo;publicclassOrderDemo{publicstaticvoidmain(String[]args){System.out.println("2024年3月2日");System.out.println("学习
- 2018-04-02 tensorflow Classification
DIO哒
使用tensorflow进行分类任务这个就还是和之前的回归用的一样的建立一个层的函数定义了权重,偏差以及计算方法defadd_layer(inputs,in_size,out_size,activation_function=None,):#addonemorelayerandreturntheoutputofthislayerWeights=tf.Variable(tf.random_norma
- flurl post请求上传文件
假装我不帅
dotnetc#dotnetflurl
https://stackoverflow.com/questions/41042591/how-can-i-upload-a-file-and-form-data-using-flurlhttps://github.com/tmenier/Flurl/issues/113varresp=await"http://api.com".PostMultipartAsync(mp=>mp.AddStri
- 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