- SAP自动化-ME12批量更新最后一行的价格
小九不懂SAP
自动化SAPpython
Python源码#-Begin-----------------------------------------------------------------#-Includes--------------------------------------------------------------importsys,win32com.clientimportosimporttime#-Sub
- python模块TA_Lib文件whl下载地址汇总
国产bug零零柒
whlpythonlinuxwindows
序号项目名称下载地址1TA_Lib-0.4.28-cp312-cp312-win32.whl.zip点我下载2TA_Lib-0.4.28-cp38-cp38-win32.whl.zip点我下载3TA_Lib-0.4.28-cp312-cp312-win_amd64.whl.zip点我下载4TA_Lib-0.4.28-cp38-cp38-win_amd64.whl.zip点我下载5TA_Lib-0.
- py获取系统缩放比例
xu-jssy
Python自动化脚本python前端
fromwin32.libimportwin32conimportwin32api,win32gui,win32printscaling=1.0defget_real_resolution():"""获取真实的分辨率"""hDC=win32gui.GetDC(0)wide=win32print.GetDeviceCaps(hDC,win32con.DESKTOPHORZRES)high=win32
- mysql5.7.24-win32安装及配置
cai_niaocainiao
数据库数据结构两栈共享空间C
一:Mysql安装安装包mysql-5.7.24-win32.zip,解压该安装包,将解压后的文件夹mysql-5.7.24-win32放到C盘根目录下。置mysql环境变量,系统变量à新建à变量名为MYSQL_HOME,变量值为C:\mysql-5.7.24-win32,然后更改path环境变量,新增量为%MYSQL_HOME%\bin。在C:\mysql-5.7.24-win32文件夹里面创建
- 一种跨平台获取程序名称的方法
shulu
C项目c语言
一种跨平台获取程序名称的方法代码来自于postgresql#include#include#include#include/**is_absolute_path**Bymakingthisamacroweavoidneedingtoincludepath.cinlibpq.*/#ifndefWIN32#defineIS_DIR_SEP(ch)((ch)=='/')#defineis_absolut
- Flutter框架高阶——Window应用程序设置窗体窗口背景完全透明
木颤简叶
Flutterflutterwindows开发语言后端笔记c++microsoft
文章目录1.修改main.cpp1)C++与Win32API2)EnableTransparency()3)中文注释2.编写Flutter代码1)bitsdojo_window2)window_manager3)区别对比4)同时使用(1)设置初始化代码(2)处理冲突和集成Flutter的文件结构如下,找到图中的main.cpp的文件1.修改main.cppmain.cpp文件中的代码应该和下面差不
- Win32程序设计初步之线程
childhoodminory
threadwindowsnullattributesapplicationfunction
线程是Win32API中最为令人激动和有用的特性之一。线程可让你将一个程序分解成多个线程来执行。在这篇文章中你将学习到在Win32程序中创建线程的基本概念。可能用到线程的地方在你的程序中,有不少地方都可能要用到线程:.如果你创建一个MDI(MultipleDocumentInterface,多文档界面)的应用。对于每个窗口都分配一个独立的线程是很有用的。例如,一个让你通过多个modem同时连接到多
- C# GDI+发生一般性错误(A generic error occurred in GDI+))
黄同学real
C#c#microsoft服务器
C#GDI+发生一般性错误(AgenericerroroccurredinGDI+))C#GDI+发生一般性错误(AgenericerroroccurredinGDI+))解决思路:因为.netGDI+是对底层的封装。所以可以尝试用Marshal.GetLastWin32Error();函数获得底层错误代码。try{image.Save(filename,System.Drawing.Imagin
- Win32使用邮槽(Mailslots)进行进程间通信
△曉風殘月〆
Win32win32vc++mailslotsIPC
最近在做一个资源管理器背景工具,将模块注入后,需要跟模块进行通信,意向传递一些信息。一开始想到的是使用共享内存,但是无法进行实时通知。匿名管道的话需要传入句柄字符串,也不太适用这里的场景。使用Mailslots可以间隔的去取消息,刚好可以实现这个需求。不同于消息队列的时,没取到消息时,不会阻塞。Mailslots介绍mailslot是驻留在内存中的伪文件,可以使用标准文件函数对其进行访问。mail
- python 安装 win32com
郎君啊
python开发语言
扩展,Python,安装相关视频讲解:StableDiffusion提升出图速度,TensorRT扩展,SDXL-SSD-1B-A1111,速度提升60%,PyTorch更新python的or运算赋值用法用python编程Excel有没有用处?如何在Windows系统上安装win32com一、整体流程步骤操作1下载并安装Python2安装pywin32扩展包3验证安装是否成功二、具体操作步骤及代码
- python使用win32类_python使用win32com的心得
weixin_39537298
python使用win32类
python可以使用一个第三方库叫做win32com达到操作com的目的,我是安装了ActivePython的第三方库,从官网下载了安装包,该第三方库几乎封装了所有python下面的win32相关的操作,例如win32api,win32gui等等,可以说是比较齐全的了,下载地址可以自行百度获取。主要是有个项目可能要用到ppt转换成视频的功能。之后在想使用com操作excel还有word,ppt的时
- win32com python_python win32com模块
圭多达莱佐
win32compython
今天再次被python的强大所折服,一直很奇怪公司的excel文件直接生成sql脚本是怎么实现的,今天闲着没事找到实现脚本看了下,竟然就是用python写的!!!当时真的是震惊了,仔细看了下脚本内容,里面用到了一个关键模块win32com,这里在网上找到了一些大神们总结的该模块用法,码来一起学习!!importwin32comfromwin32com.clientimportDispatch,co
- python安装win32com模块
m0_38056893
Python
如果直接pipinstalllwin32com可能找不到安装包。若要使用win32com模块,则可以使用pipinstallwin32com命令:安装完后,在python文件中就能使用win32com模块了。
- 如何使用 win32com 库
小九不会Python
#Web开发python开发语言
以下是如何使用win32com库的基本步骤:1.安装pywin32win32com是pywin32库的一部分,首先需要安装pywin32:pipinstallpywin322.导入win32com.clientimportwin32com.client3.连接到COM对象使用win32com.client.Dispatch连接到COM对象:excel=win32com.client.Dispatc
- HBuilderX 安装 scss/sass编译 插件报错 binding.node 解决方案windows版
这个需求建议不做
uni-app小程序
HBuilderX安装scss/sass编译插件报错binding.node解决方案windows版官方给出的解决方案让我们在命令行执行下面三行代码[0;31m-->LibSass的二进制文件(C:\ProgramFiles\HBuilderX\plugins\compile-node-sass\node_modules\node-sass-china\vendor\win32-ia32-72\b
- C语言-------实现贪吃蛇小游戏
夜晚中的人海
c语言数据结构
目录一、预备知识1.1Win32API介绍Windows这个多作业系统除了协调应用程序的执行、分配内存、管理资源之外,它同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程序达到开启视窗、描绘图形、使用周边设备等目的,由于这些函数服务的对象是应用程序(Application),所以便称之为ApplicationProgrammingInterface,简称
- python tkinter画布create window_Python+Tkinter窗口绘图,PythonTkinterwindow
医学生彼得
pythontkinter画布createwindow
给一段框出桌面上任意图标的代码练习——实际上是结合win32的python开源库uiautomation获取桌面上任意图标/窗口的坐标后,利用tkinter在图标上建立一个半透明带边框的窗口。fromtkinterimportTk,Canvasimportuiautomationasuiadefdraw_rectangle(event):control=uia.GetRootControl()#获
- c语言函数传递结构体指针,注意使用结构体指针给函数传递参数。
荣耀张大仙 mkq0~
c语言函数传递结构体指针
该楼层疑似违规已被系统折叠隐藏此楼查看此楼为了增加参数调用的灵活性,可以利用结构体指针传递多个不同的参数进入C语言函数体。最著名的例子就是用Win32APIHANDLECreateThread(LPSECURITY_ATTRIBUTESlpThreadAttributes,DWORDdwStackSize,LPTHREAD_START_ROUTINElpStartAddress,LPVOIDlpP
- Python调用canoe(一)
佩奇不是猪呀
pythonpython
学习目标:Python调用canoe实现自动化测试(一)前期准备学习内容:安装win32库windows系统上的软件,基于COM标准,开发各种组件Component,这些组件提供各种接口,其他组件通过接口使用它们,组件需要经过注册才能被发现和使用注册后的组件作为服务端(COMServer),其他想要调用组件接口的组件作为客户端(COMClient)CANoe在安装完成后已经windows系统中注册
- 服务器端Windows系统下SVN配置
钱塘江渔夫
SVN
服务器端Windows系统下SVN配置在局域网或者公网上进行SVN配置,即客户端与服务器端不是同一台电脑。则服务器端需要利用相关软件进行相应配置,客户端配置请参见《Windows系统下SVN本地配置》。所需软件:VisualSVNServer或Win32版的Subversion服务器。VisualSVNServer是可视化的SVN服务器端,与Subversion服务器端不一样,依各人喜好。各软件下
- 计算机组成原理2——一个字是多少字节(切忌默认为一个字等于2字节
蓝莓味柯基
一个字等于多少个字节,与系统硬件(总线、cpu命令字位数等)有关,不应该毫无前提地说一个字等于多少位。正确的说法:①:1字节(byte)=8位(bit)②:在16位的系统中(比如8086微机)1字(word)=2字节(byte)=16(bit)在32位的系统中(比如win32)1字(word)=4字节(byte)=32(bit)在64位的系统中(比如win64)1字(word)=8字节(byte)
- 记录 PyQt6 / PySide 6 自定义边框窗口的 Bug 及可能可行的解决方案:窗口抖动和添加 DWM 环绕阴影的大致原理
阳子926
PythonPyQtPySidebugpyqtpythonwindows
前言:本篇文章将要讨论我在前不久发表的关于PyQt6/PySide6自定义边框窗口代码及内容中的问题:(终)PyQt6/PySide6+Pywin32自定义标题栏窗口+完全还原Windows原生窗口边框特效_pyside6win32无边框窗口-CSDN博客https://blog.csdn.net/2402_84665876/article/details/141535937?spm=1001.2
- python如何对excel批量加密_用python加密excel工作表
Manting Chen
我目前正在实施一个工具来自动管理我的部分日常工作。因此,我需要创建一个python工具,它创建一个包含多个信息的excel文件(工作簿),并对文件的工作表进行加密。创建文件并用数据填充文件的第一部分工作得很好。在但是加密根本不起作用。我在用win32com,win32com.客户端和openpyxl。工作簿有两个不同的工作表,分别命名为“1”和“2”。在我的工作簿:importwin32com.c
- vscode go开发环境
wacpguo
开发开发语言
go安装go(1.19)配置环境变量vscode安装vscode(VSCode-win32-x64-1.92.2)安装go扩展更新go工具Ctrl+Shift+P打开命令面板;搜索Go:Install/Updatetools,选择所有可用的Go工具,等待完成更新;编写go代码切换到资源管理器面板,选择“打开文件夹”;在资源管理器面板中选择“新建文件夹”,创建Go应用程序目录;在资源管理器面板中选择
- Goods的Dao类
Joy_yang17
packagecom.nsu.dao;importjava.sql.Connection;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.util.ArrayList;importorg.eclipse.swt.internal.win32.UDACCEL;importcom.nsu.bean.Goods;import
- Apache搭建Windows代理服务器
hylaking
NetworkWindows知识&技巧Apache代理服务器
Apache搭建代理服务器作者:zbuger博客:https://blog.csdn.net/zbuger/article/details/51648048Apache版本2.2众所周知Apache是目前最优秀的HTTP服务器。实际上它不仅能当作服务器使用,也能够被用来架设代理服务器。本文就如何使用Apache架设HTTP代理服务器进行说明。本文将基于Win32版的Apache2.0.47进行说明
- c语言中ntdll.dll,在Win32环境中从ntdll.dll调用Nt函数,C
常河
c语言中ntdll.dll
我想从ntdll.dll调用一些Nt函数,我就是这样做的.对于调用:NtTestAlert(),您需要典型的ntcall内核例程,可通过int2Eh访问.(从这里我得到Nt功能http://undocumented.ntinternals.net/)代码也未完成,我得到:*错误C2664:’_callcall’:无法将参数1从’int’转换为’MESS(_stdcall)’#include#inc
- (终)PyQt6 / PySide 6 + Pywin32 自定义标题栏窗口 + 完全还原 Windows 原生窗口边框特效
阳子926
PythonPyQtPySidewindowspythonpyqt
参考文章:如何在pyqt中自定义无边框窗口-之一Yo-博客园(cnblogs.com)https://www.cnblogs.com/zhiyiYo/p/14659981.html如何在pyqt中给无边框窗口添加DWM环绕阴影-之一Yo-博客园(cnblogs.com)https://www.cnblogs.com/zhiyiYo/p/14644155.html简述:1.窗口系统事件依赖的几个枚举
- python操作word文件_利用PYTHON操作WORD文档
weixin_39685578
python操作word文件
office2007中不能直接打开VB编辑器,请按Alt+F11打开。importwin32com.client#导入脚本模块WordApp=win32com.client.Dispatch("Word.Application")#载入WORD模块WordApp.Visible=True#显示Word应用程序1、新建Word文档doc=WordApp.Documents.Add()#新建空文件do
- Detours的使用方法
龙语者
开发语言c++
一、Detours介绍Detours是一个软件包,用于在应用程序下重新路由(拦截)Win32API。[Detours]二、Detours使用我们首先需要编译指定的库,如果我们需要拦截32位程序下的函数,就编译x86版本,如果用在64位下,则编译x64版本。这个编译就不说明了。2.1、主要接口说明主要使用到如下的接口:1、DetourAttach&DetourDetachLONGWINAPIDeto
- 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