- Python笔记6----数组
weixin_34293911
python数据结构与算法c/c++
1、Python中的数组形式:用list和tuple等数据结构表示数组一维数组:list=[1,2,3,4]二维数组:list=[[1,2,3],[4,5,6],[7,8,9]]用array模块:array模块需要加载,而且运用的较少通过array函数创建数组(数组中的元素可以不是同一种类型),array.array('B',range(5))>>array('B',[1,2,3,4,5])提供a
- 【代码随想录python笔记整理】第一课 · A+B 问题1
南星六月雪
Python刷题笔记笔记python
前言:本笔记仅仅只是对内容的整理和自行消化,并不是完整内容,如有侵权,联系立删。一、数据类型Python中有一些常见数据类型,包括数字类型,布尔类型,字符串类型。其中,数字类型又分为整数类型和浮点数类型。整数类型-1、0、1浮点数类型3.14布尔类型True=1;False=0字符串类型'Hello'、"Helllo"二、输入输出1、输入:输入采用input()函数,再将变量与其建立联系。在inp
- 【Python笔记】向量:@classmethod与 @staticmethod。零基础
万物皆可.C
Python笔记python
类成员比较@classmethod与@staticmethod共同点:两个都是装饰器,装饰的成员函数可以通过类名.方法名(…)来调用区别:最显著的特点是classmethod需要传递一个参数cls,而staticmethod不需要。因此可以访问、修改类的属性,类的方法,实例化对象等,避免硬编码;而staticmethod不行,classmethod可以判断出自己是通过基类被调用,还是通过某个子类被
- python学习笔记08_赋值运算、逻辑运算、表达式、短路原则
flamingocc
python笔记081.赋值运算符num+=1等价于num=num+1num-=1等价于num=num-1num*=1等价于num=num*1num/=1等价于num=num/1num//2等价于num=num//2num%=2等价于num/2的余数num**2等价于num=num*num2.逻辑运算符逻辑运算符包含:not、and、or2.1and的用法:(且、并且)写法:条件1and条件2eg
- 2.25python笔记 高阶编程
13351
@[TOC](2.25学堂在线python学习笔记高阶编程)#高阶编程1.利用二分法查找一个字符是否在某个字符串当中基线条件:当s=''时,返回False当len(s)=1且s==char时返回True当len(s)>1且s[mid]>char时,返回isIn(char,s[:mid])否则当s[mid]1:ifs[mid]>char:print(s)returnisIn(char,s[:mid]
- Python笔记五之正则表达式
后端python正则表达式
本文首发于公众号:Hunter后端原文链接:Python笔记五之正则表达式这一篇笔记介绍在Python里使用正则表达式。正则表达式,RegularExpression,可用于在一个目标字符串里对于指定模式的字符进行查找、替换、分割等操作。比如,判断某个字符串里是否都是数字,或者是否包含指定字符串,又或者更直接的例子是判断电话号码或者邮箱是否合法等。这一篇笔记里,我们将先介绍一个正则表达式的函数,并
- tenorflow
小鱼儿小于儿
tensorflow
tensorflow笔记3MNIST数据集共7万张图片,都是28*28像素点的手写数字图片。6万张用于训练,1万张用于测试。importtensorflowastfmnist=tf.keras.datasets.mnist(x_train,y_train),(x_test,y_test)=mnist.load_data()#直接送数据集中读取训练集和测试机x_train,x_test=x_trai
- python笔记——jieba库
Toby不写代码
python学习python
文章目录一.概述二.jieba库使用三.实例一.概述1.jieba库概述jieba库是一个重要的第三方中文分词函数库,不是安装包自带的,需要通过pip指令安装pip3installjieba二.jieba库使用1.库函数jieba.cut(s)——精确模式,返回一个可迭代数据类型jieba.cut(s,cut_all=True)——全模式,输出文本s中可能的单词jieba.cut_for_sear
- [韩顺平]python笔记
超级用户 root
Pythonpython笔记开发语言
AI工程师、运维工程师python排名逐年上升,为什么?python对大数据分析、人工智能中关键的机器学习、深度学习都提供有力的支持Python支持最庞大的代码库,功能超强数据分析:numpy/pandas/os机器学习:tensorflow/scikit-learn/theano爬虫:urllib/reques/bs4/scrapy网页开发:Django/falsk/web运维:saltstac
- 一文教会你,Python数据如何存储
学Python的小瑜
转载自志斌的Python笔记3月28日今天呢,小瑜专门写一篇关于数据存储的文章,让大家清楚的了解数据存储的方式,以及在什么情况下,使用什么存储方式。本文将分三个方面来介绍数据存储:1.文件存储、2.关系型数据库存储、3.非关系型数据库存储。废话少说,让我们直接来看正文吧!一、文件存储1.1TXT文本将数据存储到TXT文本的操作十分简单,在之前文章已经简单介绍过,而且TXT文本基本兼容任何平台,但是
- Python笔记——绘制雷达图
没昔
代码#雷达图frompyechartsimportoptionsasoptsfrompyecharts.chartsimportPage,Radar#两组数据的对比v1=[[4300,10000,28000,35000,50000,19000]]v2=[[5000,14000,28000,31000,42000,21000]]#返回Radar图表对象数据处理完整之后通过雷达对象进行转换defrad
- Delphi 程序直接调用 Python 的函数
pcplayer
python开发语言
在本系列的第一篇博客文章:Delphi程序员初学Python笔记-CSDN博客在这篇文章里面,我提到,一个Python的函数,我用Delphi无法直接调用它,所以我对它做了一个Python的包装。原因是,那是我第一次学习使用Python4Delphi这个控件。那时候要执行Python代码,我只会使用PythonEngine1.ExecStrings(Python代码)这样的方式。这样做,就是在De
- python小结
张叁疯_
本周整理了python学习笔记复习旧的,顺便整理新的,笔记分享在了有道云链接如下阿龙的python笔记都是基础知识,希望在今后能成体系,根据案例学python
- 大学python笔记整理_python 笔记整理
余虹的眼
大学python笔记整理
Pythonisdigit()方法检测字符串是否只由数字组成。Pythonint()函数用于将一个字符串或数字转换为整型。判断字符、列表、元组等的长度或项目个数:Pythonlen()。enumerate()函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中。(把下标取出来)python中单引号和双引号使用完全相同。文件操作:内
- Python笔记(十)
Lzehui
python笔记
文件编码概念编码就是一种规则集合,记录了内容和二进制间进行相互转换的逻辑编码有许多种,我们最常用的是UTF—8编码文件的读取对文件进行操作的基本步骤,大概可以分为三步1、打开文件2、读写文件3、关闭文件注意:可以只打开和关闭文件,不进行任何读写open()打开函数在Python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件,语法如下open(name,mode,encoding
- Python笔记(八)
Lzehui
python开发语言
数据容器:dict(字典、映射)字典的定义字典的定义,同样使用{},不过存储的元素是一个个的:键值对,如下语法: #定义字典字面量 {key:value,key:value,……,key:value} #定义字典字面量 mt_dict={key:value,key:value,……,key:value} #定义空字典 my_dict={} #空字典定义方式1 my_dict={} #空字典
- Python笔记(三)
Lzehui
python笔记数据库
while循环的基础应用语法:while条件:条件满足时,做的事情 i=0 whilei<100: print("循环100次") i+=11.while的条件需要得到布尔类型,True表示继续循环,False表示结束循环2.需要设置循环终止的条件,如i+=1配合i<100,就能保证100次后停止,否则将无限循环3.空格缩进,冒号和if判断一样,都需要设置while循环的嵌套使用基础语法:wh
- Python笔记(五)
Lzehui
python笔记
数据容器入门python中的数据容器:一种可以容纳多份数据的数据类型,容纳的每一份数据称之为1个元素每一个元素,可以是任意类型的数据,如字符串、数字、布尔等。根据容器特点的不同,如:是否支持重复元素是否可以修改是否有序,等分为5类,分别是:列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)数据容器:list(列表)列表的定义基本语法 #字面量 [元素1,元素2
- Python笔记(七)
Lzehui
python笔记
集合的定义和操作集合中元素不能重复,且是无序的,区别于列表,元组,字符串基本语法: #定义集合字面量 {元素,元素,……,元素} #定义集合变量 变量名称={元素,元素,……,元素} #定义空集合 变量名称=set()和列表、元组、字符串等定义基本相同;列表使用:[]元组使用:()字符串使用:""集合使用:{}集合常规操作:因为集合是无序的,所以集合不支持:下标索引访问但集合和列表一样,是允许修改
- Python笔记(一)
Lzehui
python
字面量python中常用的有6种值(数据)的类型类型描述说明数字(Number)支持:整数(int)浮点数(float)复数(complex)布尔(bool)整数(int),如:10、-10浮点数(float),如:13.14、-13.14复数(complex),如:4+3j,以j结尾表示复数布尔(bool)表达现实生活中的逻辑,即真和假,True表示真,False表示假。True本质上是一个数字
- Python笔记(九)
Lzehui
python前端
函数多返回值语法: deftest_return(): return1,2 x,y=test_return() print(x) #结果1 pirnt(y) #结果2按照返回值的顺序,写对应顺序的多个变量接收即可变量之间用逗号隔开支持不同类型的数据return函数的多种参数使用形式函数参数种类使用方式上的不同,函数有4中常见参数使用方式:位置参数关键字参数缺省参数不定长参数位置参数:调用函数
- python笔记12
没有名字的鬼
python学习笔记笔记
目录1、文件的基本操作步骤1.打开文件(OpenFile):2.读取文件内容(ReadFile):3.写入文件内容(WritetoFile):4.file.seek()5.文件复制:6.with语句:2、数据的组织维度1.一维数据:2.二维数据:3.多维数据:3、一维数组的存储与读取1.使用内置的文件I/O方法:存储数据:读取数据:2.使用NumPy库:存储数据:读取数据:3.使用Pandas库:
- 9.18 Python笔记
谦友111
一.1.Python的基本概念具有高效率的数据结构,简单有效实现面向对象编程。Python(1989)比Java(1991)早,但是Java称作一个,因为Python就龟叔一个人开创那些,代码简单但是功能强大,对计算机功能很高,而Java由一个团队开创。2.Python的特点简单易学自由开放跨平台可嵌入性丰富的库Python可以做什么?1.软件开发2.科学运算3.自动化运维4.云计算5.WEB开发
- 一个不会java程序员的python笔记-切片
aersilan20200907
pythonpythonjava开发语言
文章目录前言一、切list和tuple二、判断是不是回数三、手写trim总结前言Python学习入门之切片slice的使用切片这东西还是很好用的,而且简单,切片,就是像切土豆一样,想切哪儿就切哪儿,想怎么切就怎么切。一、切list和tuple切一个list,随便切:#listL=['messi','pique','xavi']#切头print(L[0])#messi#切尾print(L[-1])#
- python学习笔记20_字符编码与转码
flamingocc
python笔记20python字符编码与转码详细文章:http://www.cnblogs.com/yuanchenqi/articles/5956943.htmlhttp://www.diveintopython3.net/strings.html需知:1.在python2默认编码是ASCII,python3里默认是unicode2.unicode分为utf-32(占4个字节),utf-16(
- python笔记:8.2.3 非参数检验的基本问题_游程检验
老狼8848
python学习
#-*-coding:utf-8-*-"""CreatedonSunJul2114:26:222019@author:User"""#《Python数据分析基础》中国统计出版社importnumpyasnpfromscipyimportstatsimportpandasaspdimportstatsmodels.apiassm#importstatsmodels.formula.apiassmf#
- 『Python 干货』#2 NumPy(简明)
Hwcoder
访问博客查看本文最新内容,排版更美观ヾ(•ω•`)o如有错误欢迎指出~Python系列学习笔记:Python笔记#1基础语法Python笔记#2NumPyPython笔记#3Matplotlib学习MachineLearning的时候发现需要用许多矩阵运算和画图的库,本文将以实用主义的方式记录每次遇到的新用法。2021年贵系的暑培新增了「科学计算」内容,本文部分内容参考了清华LZJ同学的教程,部分
- Python笔记
QinChu
PART1基本定义变量定义:用来储存值的元素命名时只能包括字母、数字、下划线变量对应的值以最近一次更新为主变量类型使用type(变量)函数查询类型-非数字型1.字符串str一系列字符,用引号括起来,是编程语言中表示文本的数据类型用+号拼接字符串,如果有数字,需要对数字使用str()函数//格式化输出通过使用格式化操作符%来实现信息的整体输出1)%和不同的字符连用构成不同类型的格式化操作符,%起一个
- #周检视# 坚持努力 0317---0325
小灵仙子
第一个90天目标检视目标1:纸质书2本目标2:开启Python笔记目标3:亲子英文阅读打卡本周的主题:忙碌的一周本周计划:[x]顺利完成软件测试大赛海选工作[]selenium视频学习3个[x]Jenkins的邮件配置一、家庭:1,周三晚上陪着孩子去学跆拳道,在道馆和妈妈视频。爸爸还是坐在凳子上就睡着了。2,连续第二个周末又是上班,感谢公公婆婆帮我带着孩子。孩子大了,老人家带着越来越吃力了。二、健
- python笔记11
没有名字的鬼
python学习笔记笔记
1、模块简介在Python中,模块是一种组织代码的方式,允许你将相关的代码放在一个文件中,以便更好地组织和重用。模块可以包含变量、函数和类等。下面是关于Python模块的一些基本概念:1.创建模块要创建一个模块,只需创建一个包含Python代码的文件,文件的扩展名通常是.py。例如,如果你有一个名为的文件mymodule.py,它可以被视为一个模块。#mymodule.pydefsay_hello
- 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