- MacOS在matlab中使用dir时,总是出现“._”文件的解决方法
我是水怪的哥
经验分享Matlabmacos经验分享
问题描述:Mac读取文件时出现"._"文件的原因是macOS自动创建隐藏的元数据文件(AppleDouble格式),特别是在文件被复制到非macOS文件系统(如外接硬盘、U盘、网络共享盘)时。(1)为什么会出现"._"文件?(a)macOS会将额外的文件信息(如Finder标签、资源分叉、权限等)存储在"._"文件中。(b)这些文件通常在macOS下是隐藏的,但在MATLAB读取文件时,尤其是在L
- AtCoder Beginner Contest 275 A-D题解
Gowilli
AtCoderc++算法数据结构
比赛名称:AtCoderBeginnerContest275A-FindTakahashi找出最大的元素并输出下标使用两个变量一个存储当前找到的最大值一个存储找到的最大值对应的下标,若当前数大于最大值更新最大值和下标AC代码//Problem:A-FindTakahashi//Contest:AtCoder-AtCoderBeginnerContest275//URL:https://atcode
- Angular 15 表单控制迁移指南
t0_54program
编程问题解决手册angular.js前端javascript个人开发
在升级Angular项目时,经常会遇到一些需要特别注意的问题。最近,我们在从Angular10迁移到Angular15时,遇到了一个关于表单控制的错误:ERRORError:Cannotfindcontrolwithpath:'mappedHeaders->0->value'。这篇博客将详细解释这个错误的原因,并提供解决方案。问题描述在Angular10中运行良好的代码,在迁移到Angular15
- flutter 跑马灯+渐变透明度背景
烟花下的孤独
flutterdartflutter
之前也是记录了很多小组件的实现,这次把所有代码都给放到这里吧这是效果:数据(后台数据,不过我这是没的,不要在意这些小细节,忽略吧)Http().post(url,pathParams:params,data:params,success:(json){studyModel=FindStudyModel.fromJson(json);},errorCallback:(error){print('er
- Podman 运行redis 报错
one one day
podmanredis数据库
Podman运行redis报错一、报错内容find:'.':Permissiondeniedchown:changingownershipof'.':Permissiondenied二、问题分析SELinux模式SELinux(Security-EnhancedLinux)是一种安全模块,旨在通过强制访问控制(MAC)来增强Linux系统的安全性。SELinux具有三种工作模式,每种模式提供不同的
- redis基础常用命令
web15085096641
面试学习路线阿里巴巴redis数据库缓存
linux下搜索redis-cli所在路径find/-nameredis*cd到redis-cli所在路径停止redisredis-cli-h127.0.0.1-p6379shutdown查看redis启动使用的配置文件127.0.0.1:6379>infoServer启动redis-server/指定配置文件路径/redis.conf配置守护进程daemonizeyes配置密码requirepa
- 笔试刷题并查集专题
知行SUN
算法笔试算法与数据结构并查集
并查集专题合并集合合并集合#includeusingnamespacestd;constintN=1e5+10;intp[N];intfind(inta){if(p[a]!=a)p[a]=find(p[a]);returnp[a];}intmain(){intn,m;cin>>n>>m;for(inti=1;i>op[0]>>a>>b;if(op[0]=='M')p[find(a)]=find(b
- python+flask实现360全景图和stl等多种格式模型浏览
mosquito_lover1
python
1.安装依赖pipinstallflask2.创建Flask应用创建一个基本的Flask应用,并设置路由来处理不同的文件类型。fromflaskimportFlask,render_template,send_from_directoryapp=Flask(__name__)#设置静态文件路径app.static_folder='static'@app.route('/')defindex():r
- 【Daily Code】leetcode 1287 C++
Shadow10260530
刷题leetcodec++算法
classSolution{public:intfindSpecialInteger(vector&arr){vectorv(100000+10,0);intl=arr.size();for(inti=0;il)returnarr[i];}return-1;}};
- win10快捷键冲突检测与解决方法
H.ZWei
开发工具的那些事快捷键检测快捷键冲突热键冲突
文章目录背景安装与使用背景相信很多人都遇到过,在使用一个快捷键时会经常与其他软件产生冲突,事与愿违;而且又很难找到是与哪个软件产生了冲突。有一款工具可以帮我们定位到目前的快捷键在哪个软件,这样就可以到对应的软件上把这个热键删除或者改成其他,避免热键冲突。安装与使用FindGlobalHotkey下载链接提取码:mxok下载解压即可使用如果需要检查某个快捷键被使用了,直接FindGlobalHotk
- python selenium鼠标点击时、获取元素id_Python+selenium 获取验证信息
weixin_39623271
pythonselenium鼠标点击时获取元素id
获取页面信息1.获取URLurl=driver.current_url2.获取titletitle=driver.title3.获取texttext=driver.find_element_by_xpath("//*[@id='u1']/a[2]").text4.获取浏览器窗口大小size=driver.get_window_size()5.获取定位元素是否被选中,返回布尔值。适用于下拉框(收起状
- 【并查集】
weixin_47868976
python
并查集(DisjointSetUnion,DSU)是一种用于处理不相交集合的数据结构,主要支持两种操作:查找(Find)和合并(Union)。它在解决连通性问题、图论问题以及动态连通性等问题时非常有用。并查集的基础知识基本概念:集合:并查集维护一组不相交的集合,每个集合有一个代表元素。查找(Find):查找某个元素所属的集合的代表元素。合并(Union):将两个集合合并为一个集合。核心思想:路径压
- Find查找某个文件或者文件夹
一只积极向上的小咸鱼
linux运维服务器
在Linux中,find命令既可以查找文件,也可以查找目录。关键区别在于-type选项的不同设置:查找文件:使用-typef查找目录:使用-typed找指定名称的目录find/path/to/search-typed-name"目录名"示例:查找/home目录下名为myfolder的目录find/home-typed-name"myfolder"查找文件如果你只想在某个目录(如/home)中查找,
- Android soong/ui/build/finder.go FindSources源码分析
月盈五
androiduigolang
//FindSourcessearchesforsourcefilesknowntoandwritesthemtothefilesystemfor//uselater.//在一个给定的上下文中,使用配置信息和finder.Finder实例来搜索特定类型的源文件,并将这些文件的路径列表写入到文件系统中,以便后续使用funcFindSources(ctxContext,configConfig,f*f
- C语言每日一练Day03——移除元素
不摸鱼的程序员
『C语言』初阶+进阶c语言算法leetcode学习经验分享
移除元素问题描述解题方案思路一思路二思路三(最优解)总结:问题描述原题链接:https://leetcode.cn/problems/remove-element/解题方案思路一思路一:首先通过简单分析,很明显这是一道顺序表相关问题。首先能够想到的是暴力求解,即思路一:找到所有的val,每次挪动val后的数据覆盖删除val。代码展示:intfind(int*nums,intnumsSize,int
- tar,cat,less,more,head,tail(查看文档),find(根据用户名查找),grep,管道符(|)
智也
红帽课程服务器linux
一、cp复制注意:同一目录下不能出现同名的文件!cp复制的目标路径复制的目的路径cp复制的目标路径复制的目的路径/新的文件名(复制并且重命名)注意点1:cp,命令不能直接对目录进行复制,如果要复制的话,必须加上-r选项。注意点2:mv命令不会改变文件的原属性,但是cp命令在复制时会改变文件的原属性,如果要保留文件的原属性,那么需要使用-p选项-a=-r+-p二、tar打包压缩主命令选项参数打包的作
- Linux 学习路线规划图谱
Morris只会敲命令
linux学习运维
一、学习阶段与目标设定1.基础认知时期(1-2个月)目标:搭建起Linux基础认知架构学习要点:系统安装:在虚拟机里安装Ubuntu22.04或者CentOSStream8。命令行操作:掌握ls、cd、pwd、mkdir等30个基础命令。熟悉grep、awk、sed等文本处理工具。文件系统:了解根目录下各主要目录的功能,像/etc、/var、/usr。学会使用df、du、find等命令进行磁盘管理
- HDU多校2019 第三场 1007(HDU 6609) Find the answer(离散化+树状数组)
沙雕.
2019HDU多校
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6609解题思路:先把给出来的值离散化,对于值相同位置不同的数离散化后的值不相同。两个树状数组,一个维护区间内的和,一个维护区间内的个数。对于每个i二分答案,找到右界之后询问第二个树状数组得到剩余的个数x,那么去掉的就是(i-1)-x代码:(注意行末空格)#include#include#include#
- 【Linux】一万七千字详解 —— 基本指令(二)
安 度 因
Linuxlinux运维服务器centosvim
作者主页:@安度因学习社区:安度因的学习社区专栏链接:Linux文章目录man指令cp指令mv指令echo指令(含输出重定向)cat指令(含输入重定向)wc指令more指令less指令head和tail指令(含管道用法)date指令cal指令sort指令find和which和whereis指令alias指令grep指令top指令zip和unzip指令如果无聊的话,就来逛逛我的博客栈吧!今天的主要内
- Linux 常用 20 条指令,解决大部分问题
yqcoder
linux服务器运维
find:查找文件和目录例:find/-nameerror.log在/根目录下开始查找,名字为error.log的文件ps:查看当前进程信息例:ps-ef-e代表显示所有进程-f代表使用详细的进程信息vi:Linux系统中重要的文本编辑工具例:vidm.ini进入dm.ini文件进行内容编辑diff:比较文件差异例:diffdm.inidm_bak.ini比较dm.ini和dm_bak.ini的内
- 在 cmake_modules 目录下编写 FindG2O.cmake 以集成 G2O
XU磊260
SLAMc++开发语言
1.简介在使用G2O(GeneralGraphOptimization)库进行优化问题求解时,通常需要在CMake项目中正确配置G2O的头文件和库文件路径。由于G2O并未提供官方的CMake配置文件,因此需要手动编写FindG2O.cmake以确保CMake能够正确找到G2O的依赖项。本文将详细解析FindG2O.cmake的编写方式,并介绍其工作原理。2.CMake中的FindG2O.cmake
- 达梦 数据库操作日期
one 大白(●—●)
数据库达梦日期函数操作日期
排班情况获取当月获取上月和下月的数据select*fromuf_zbglbwherefind_in_set('1',zbbm)>0andrqlike'2021-03%'orrqlike'2021-3%'ordatepart(year,rq)=(selectdatepart(YEAR,ADD_MONTHS(DATE'2021-03-16',1)))anddatepart(month,rq)=(sel
- 【UI自动化】Selenium库中使用By类元素定位方法
搞不来测试的摄影狮
软件测试pythonselenium自动化
使用By类,首先需要在Python中导入该模块:fromselenium.webdriver.common.byimportBy1.通过元素的ID属性来定位driver.find_element(By.ID,'kw')如下图,我们需要定位百度的输入框。首先选中定位工具,然后选中输入框。我们可以看到该元素id的值为:"kw"2.通过元素的NAME属性来定位driver.find_element(By
- leetcode 贪心算法
gufly-
leetcode贪心算法算法
刷题记录以局部最优推出整体最优,且想不到反例,则可以尝试贪心算法455.分发饼干从后向前遍历孩子数组,用大饼干满足胃口大,并统计满足小孩数量classSolution(object):deffindContentChildren(self,g,s):g.sort()s.sort()res=0ind=len(s)-1foriinrange(len(g)-1,-1,-1):ifind>=0ands[i
- PTA:顺序表操作集
悦悦子a啊
C语言PTA习题数据结构算法c语言
本题要求实现顺序表的操作集。函数接口定义:ListMakeEmpty();PositionFind(ListL,ElementTypeX);boolInsert(ListL,ElementTypeX,PositionP);boolDelete(ListL,PositionP);其中List结构定义如下:typedefintPosition;typedefstructLNode*List;struc
- django获取请求参数
weixin_30613433
pythonjsonpostman
1.获取URL路径中的参数需求:假设用户访问127.0.0.1/user/1/2,你想获取1,2。应该怎么操作呢?(1)未命名参数(位置参数)#在项目下的urls.py下增加设置:url(r'^user/(\d+)/(\d+)$',views.index)#在user.views的index视图中:defindex(request,a,b):#接受的参数按顺序的returnHttpResponse
- linux 下 CUDA + Opencv 编程 之 CMakeLists.txt
maxruan
编程图像处理CUDAopencvlinuxc++cuda
CMAKE_MINIMUM_REQUIRED(VERSION2.8)PROJECT(medianFilterGPU)#CUDApackageFIND_PACKAGE(CUDAREQUIRED)INCLUDE(FindCUDA)#CUDAincludedirectoriesINCLUDE_DIRECTORIES(/usr/local/cuda/include)#OpenCVpackageFIND_P
- 第一行代码(第三版)kotlin-android-extensions报错处理
代码随想笔记
androidkotlin开发语言
classMainActivity:AppCompatActivity(){overridefunonCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)valmBt_1:Button=findViewById(R.id.button1)
- 使用deepseek生成一个网页的简单架构
习学来起我扶
pythonhtml
python代码如下:fromflaskimportFlask,render_template,jsonifyapp=Flask(name)#定义要调用的Python函数defcac_sum():“”“示例计算函数”""str_print=‘现在打印这个了,哈哈哈哈哈哈’return{“result”:str_print}#返回计算结果@app.route(’/’)defindex():retur
- linux/shell find命令 模糊查询多个文件
青衫一笔墨
Linux/Shell相关shelllinux
find查找文件.表示当前目录typef查询文件(-typed查询目录)name文件名*代表全部|管道符将左边的查询结果集放到右边xargs通俗讲:将一大段参数(参数列表)分成小段ls查询当前目录下内容#查询出当前路径下以.txt和.sh结尾的全部文件find.-typef-name"*.txt"-o-name"*.sh"|xargsls
- 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