- Linux 帧缓存 数据,嵌入式Linux通过帧缓存截图 – Framebuffer Screenshot in Embedded Linux...
weixin_39578674
Linux帧缓存数据
嵌入式Linux通过帧缓存截图–EmbeddedLinuxFramebufferScreenshot【目的】板子上已经可以运行Qtopia的demo和example了,想要将其qt的demo程序的画面截取下来,给其他人看。最原始的方法就是,找个相机,对着板子照几张即可。另外的办法,通过framebuffer去截图,截取运行中的qtdemo的画面,效果会更好,图片也更清晰。【解决过程】1.将fram
- ARM-Cortex-M架构:1、STM32函数参数传递
天城寺电子
嵌入式软件开发arm开发stm32汇编C语言
文章目录参数传递概览堆栈传递参数具体过程参数传递概览在调用子函数时,ARMCortex-M3处理器可以使用寄存器和堆栈来传递参数。具体使用哪种方式取决于传递的参数数量和调用约定(callingconvention)。参数传递方式ARMCortex-M3处理器使用ARMEABI(EmbeddedApplicationBinaryInterface)标准来定义参数传递的约定。根据这个约定:1、寄存器传
- OpenGL ES基本概念
Irino
OpenGLES的版本OpenGLES1.X:用于固定功能流水管线硬件OpenGLES2.X:用于可编程功能流水管线硬件OpenGLES3.X:OpenGLES2.0的拓展EGL(EmbeddedGraphicsLibrary)OpenGLES命令需要渲染上下文和绘制表面才能完成图形图像的绘制渲染上下文:存储相关OpenGLES状态绘制表面:是用于绘制图元的表面,它指定渲染所需要的缓存区类型,例如
- c语言中char16_t是什么类型,错误[Pe167]:类型为“uint16_t *”的参数与类型为“unsigned char *”的参数不兼容...
于西奥
我想通过usb建立tablet与stm32之间的通信,为此我在代码中添加了usb库。在代码中添加库我得到了这个错误。错误[Pe167]:类型为“uint16_t*”的参数与类型为“unsignedchar*”的参数不兼容错误[Pe167]:类型的参数“uint16_t*”是类型为“无符号字符*”我使用的参数不兼容的IAREmbeddedWorkbenchEWARM工具STM32coding.Err
- 掌握嵌入式Linux编程 - 第三版
秋玥多
掌握嵌入式Linux编程-第三版Mastering-Embedded-Linux-Programming-Third-EditionMasteringEmbeddedLinuxProgrammingThirdEdition,publishedbyPackt项目地址:https://gitcode.com/gh_mirrors/ma/Mastering-Embedded-Linux-Programm
- SpringBoot3配置dynamic多数据源,url找不到。Failed to configure a DataSource: ‘url‘ attribute is not specified a
Java小白笔记
SpringBootjavamavenintellij-ideaspringboot
SpringBoot3配置dynamic多数据源,url找不到。FailedtoconfigureaDataSource:‘url’attributeisnotspecifiedandnoembeddeddatasourcecouldbeconfigured.我在编写springboot项目时尝试使用dynamic-datasource实现多数据库连接运行项目时报错退出Failedtoconfig
- SpringBoot 依赖之Spring Web
ahauedu
微服务架构设计springspringbootmavenintellij-idea
SpringBoot依赖之SpringWeb详细介绍SpringWeb依赖的内容:第1章:SpringWeb1.简介功能描述英文:Buildweb,includingRESTful,applicationsusingSpringMVC.UsesApacheTomcatasthedefaultembeddedcontainer.中文译文:使用SpringMVC构建Web应用程序,包括RESTful应
- 2.关于Transformer
安逸sgr
Transformertransformer深度学习人工智能
关于Transformer模型架构举例输入图像为3x224x224EmbeddedPatches将一张图的多个区域进行卷积,将每个区域转换成多维度向量(多少卷积核就有多少维向量)self.patch_embeddings=Conv2d(in_channels=in_channels,#颜色通道3out_channels=config.hidden_size,#卷积核个数,也就是输出通道数768ke
- SpringBoot报错:Failed to configure a DataSource: 'url' attribute is not specified and no embedded d...
木塞
SpringBoot集成MyBatis时报了如下错误:APPLICATIONFAILEDTOSTARTDescription:FailedtoconfigureaDataSource:'url'attributeisnotspecifiedandno>embeddeddatasourcecouldbeconfigured.Reason:Failedtodetermineasuitabledrive
- Embedded Servlet Container 是怎样启动的
Java弟中弟
传统JavaWeb开发中,开发者需要独立部署Servlet容器,比如Tomcat,并将应用程序打成war包放入容器才能运行,这多多少少有点繁琐且不方便调试,嵌入式Servlet容器的出现改变了这个局面。当使用嵌入式Servlet容器,我们不再需要任何外部设施的支持,应用程序本身就是一个可以独立运行的个体。作为解放生产力的典型代表,SpringBoot默认采用EmbeddedTomcat来启动Web
- 开源虚拟化ACNR
a2591748032-随心所记
hypervisor虚拟化
OverViewTheACRNHypervisorisaType1referencehypervisorstack,runningdirectlyonthebare-metalhardware,andissuitableforavarietyofIoTandembeddeddevicesolutions.TheACRNhypervisoraddressesthegapthatcurrentlyex
- Xcode 10 ERROR ITMS-90174:"Missing Provisioning Profile - iOS App must contain a provisioning pro...
kongxx
问题描述Xcode10.x打包上传时报错,错误如下:ERRORITMS-90174:“MissingProvisioningProfile-iOSAppsmustcontainaprovisioningprofileinafilenamedembedded.mobileprovision.”解决办法打开Xcode->File->ProjectSettings或WorkspaceSettings,将
- 【Flink精讲】Flink单机安装步骤
话数Science
FlinkFlink精讲大数据flink大数据
Flink单机安装步骤获取Flink安装包:Indexof/flink解压缩:tar-zxvfflink-1.17.2-bin-scala_2.12.tgz修改配置文件:conf/flink-conf.yaml启动命令:./bin/start-cluster.sh终止命令:./bin/stop-cluster.sh启动SQLClient:./bin/sql-client.shembedded如果w
- STM32H7 系列 MCU 内部 SRAM
MCU_wb
单片机stm32
通过参看《STM32H7参考手册》“2.4EmbeddedSRAM”章节知道TheSTM32H743/53xxandSTM32H750xB内存特性:Upto864KbytesofSystemSRAM128KbytesofdataTCMRAM64KbytesofinstructionTCMRAM4KbytesofbackupSRAM1.1TCMSRAMTCM:Tightly-CoupledMemor
- 【嵌入式学习】C++&QT-Day6-C++基础
BH6AEV
学习c++qt
作业:1.思维导图见我的博客:https://lingjun.life/wiki/EmbeddedNote/19Cpp2.编程题:以下是一个简单的比喻,将多态概念与生活中的实际情况相联系:比喻:动物园的讲解员和动物表演想象一下你去了一家动物园,看到了许多不同种类的动物,如狮子、大象、猴子等。现在,动物园里有一位讲解员,他会为每种动物表演做简单的介绍。在这个场景中,我们可以将动物比作是不同的类,而每
- 安卓游戏开发之图形渲染技术优劣分析
洪信智能
安卓开发android
一、引言随着移动设备的普及和性能的提升,安卓游戏开发已经成为一个热门领域。在安卓游戏开发中,图形渲染技术是关键的一环。本文将对安卓游戏开发中常用的图形渲染技术进行分析,比较它们的优劣,并探讨它们在不同应用场景下的适用性。二、图形渲染技术2.1、OpenGLESOpenGLES(OpenGLforEmbeddedSystems)是一种专为嵌入式设备设计的OpenGL版本,广泛应用于安卓游戏开发中。2
- Linux字体库ttc还是ttf,字体文件ttf、otf、woff、ttc等格式有什么区别?
weixin_39765339
字体格式类型主要有几个大分类:TrueType、EmbeddedOpenType、OpenType、WOFF、SVG。TTF:TrueTypeWindows和Mac系统最常用的字体格式,其最大的特点就是它是由一种数学模式来进行定义的基于轮廓技术的字体,这使得它们比基于矢量的字体更容易处理,保证了屏幕与打印输出的一致性。同时,这类字体和矢量字体一样可以随意缩放、旋转而不必担心会出现锯齿。EOT:Em
- org.apache.tomcat.util.modeler.Registry.disableRegistry 方法不存在
dozenx
今天为了修复jackson漏洞要升级spring版本,可是升级了之后报错Anattemptwasmadetocallamethodthatdoesnotexist.Theattemptwasmadefromthefollowinglocation:org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.g
- NGINX的一些SEO优化常用配置
gao922699
官方文档:http://nginx.org/en/docs/常用模块:ngx_http_core_modulengx_http_rewrite_modulengx_http_proxy_modulengx_http_upstream_module内置参数查询:EmbeddedVariables系统的基础使用教程就不再记录了,只是记录一些用到的配置方法主域跳转www域官方推荐分两个server,不推
- 《使用 UnrealEnginPython 插件进行UE4中的Python开发》学习笔记5
SHOTJEE
#ue4python
本文为B站系列教学视频《使用UnrealEnginPython插件进行UE4中的Python开发》——《Day05编译版的使用与打包设置》的学习笔记,UP主为腾讯游戏策划、虚幻社区贡献者世欺子。文章目录5.1UnrealEnginePython编译版的配置本节课针对UE4下使用UnrealEnginePython(embeddedversion)对项目编译时提示UnrealEnginePython
- Proto3:Any
Upping8
TheAnymessagetypeletsyouusemessagesasembeddedtypeswithouthavingtheir.protodefinition.AnAnycontainsanarbitraryserializedmessageasbytes,alongwithaURLthatactsasagloballyuniqueidentifierforandresolvestoth
- If you want an embedded database (H2, HSQL or Derby), please put it on the classpath..
cmeizu
Action:Considerthefollowing:Ifyouwantanembeddeddatabase(H2,HSQLorDerby),pleaseputitontheclasspath.Ifyouhavedatabasesettingstobeloadedfromaparticularprofileyoumayneedtoactivateit(noprofilesarecurrently
- SpringBoot切换内嵌容器原理
i_cyy
废话不多说,是在最近面试被人问到的,直接上源码(以下是SpringBoot2.x.x源码,SpringBoot1.5.x版本略微有不同,不再赘述):packageorg.springframework.boot.autoconfigure.web.embedded;importio.undertow.Undertow;importorg.apache.catalina.startup.Tomcat
- SpringBoot源码解读与原理分析(六)WebMvc场景的自动装配
灰色孤星A
springboothive后端spring开发语言java
文章目录2.6WebMvc场景下的自动装配原理2.6.1WebMvcAutoConfiguration2.6.2Servlet容器的装配2.6.2.1EmbeddedTomcat、EmbeddedJetty、EmbeddedUndertow2.6.2.2BeanPostProcessorsRegistrar(后置处理器的注册器)2.6.2.3两个定制器的注册2.6.3DispatcherServl
- 抽象springBoot报错
用键盘当武器的秋刀鱼
springbootjavamybatis
FailedtoconfigureaDataSource:'url'attributeisnotspecifiedandnoembeddeddatasourcecouldbeconfigured.中文翻译:无法配置DataSource:未指定“url”属性,并且无法配置嵌入数据源。DataSource翻译:数据源得出一个结论,这个问题是springboot项目添加了mybits,但是没有连接数据库
- 【前端】实现Vue组件页面跳转的多种方式
码农研究僧
前端前端vue.jsjavascript
目录前言1.内嵌2.跳转新页面2.1Demo12.2Demo22.3Demo33.拓展前言通过某个Button让页面多种方式跳转1.内嵌想要在Vue应用中内嵌一个外部网页,可以使用标签下面是一个示例:exportdefault{name:'EmbeddedWebPage',}/*在这里添加样式*/标签的src属性设置为要嵌入的外部网页的URL可以调整width和height属性来设置iframe的
- ARM Cortex M3 基础(学习笔记)
艾摩黛玛
ARM学习学习arm
参考arm_cortexm3_processor_trm以及其他网络上的资料整理文章目录前言一、feature二、功能描述1.Interfaces1.1BusinterfacesICode接口DCode接口System接口PPB接口1.2EmbeddedTraceMacrocell(ETM)接口1.3AHBTraceMacrocell(HTM)接口1.4DebugPort(DP)AHB-AP接口三
- 《计算机组成原理与汇编语言》Win32考试系统
=+@
c语言开发语言
仅供学习参考,自己做出来的才是王道。目录快查一、数据类型DataType二、MASM整数+-*/%IntegerOperation三、MASM实数+-*/RealOperation四、MASM函数Function五、选择结构SelectionStructure六、循环结构LoopStructure七、C嵌入式汇编EmbeddedAssembly八、子程序(函数)九、递归程序设计RecursiveP
- 在windows系统搭建LVGL模拟器(codeblock工程)
懂IT的嵌入式工程师
LVGLLVGL文件系统lv_fs
1.codeblock准备下载codeblock(mingw),安装。可参考网上教程。2.pc_simulator_win_codeblocks工程获取仓库地址:lvgl/lv_port_win_codeblocks:WindowsPCsimulatorprojectforLVGLembeddedGUILibrary(github.com)拉取代码到本地硬盘,如下操作步骤:#打开git终端输入下面
- 彻底解决Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource
o_o_233N
image.png关于项目启动时报的这个错,有两个原因造成:一.项目需要配置数据源,而你没有配置;在YML文件中没有配置datasource相关的内容;image.png或是在properties文件没有配置datasource相关内容;image.png配置文件中的内容有问题读取失败或配置异常,数据库的版本区别;image.png二.项目无需配置数据源,而你的MAIN启动时没有忽略处理;在注解的
- 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