- K8S集群搭建(kubeadm+calico)
kubernetes
准备阶段环境显卡:4060ti系统:ubuntu22.041.安装docker官网安装步骤:#AddDocker'sofficialGPGkey:sudoapt-getupdatesudoapt-getinstallca-certificatescurlsudoinstall-m0755-d/etc/apt/keyringssudocurl-fsSLhttps://download.docker.
- Python命令速查
hongyuT
pythonPython
什么也不做donothingpass安装依赖sudoapt-getinstall-fpip更换源pipinstallpackage_name-ihttps://pypi.tuna.tsinghua.edu.cn/simplepip安装pip:python2.x:sudoaptinstallpython-pippython3.x:sudoaptinstallpython3-pip升级pip:pyth
- 在 Linux 系统上编译安装高版本 Python
perfect12312645
python
在Linux系统上进行软件安装时,我们经常会面临各种挑战,其中一个典型的情况就是官网不再提供所需软件的二进制包,这时我们就不得不进行编译安装。本文将为你详细展示如何在CentOS7.6系统上完成高版本Python的编译安装,并涵盖了一系列前置依赖的安装、高版本OpenSSL的编译安装以及相关的环境配置过程,帮助你克服可能遇到的困难。一、实验环境说明本次实验使用的系统是CentOS7.6,你可以通过
- Linux系统上安装Python详细步骤
InjeProgram
linuxpython服务器
在Linux系统上安装Python是非常简单的过程。下面将提供详细的步骤,以帮助你完成安装并开始使用Python。步骤1:检查系统首先,我们需要检查系统上是否已经安装了Python。打开终端并输入以下命令:python--version如果系统中已经安装了Python,将显示已安装的版本号。如果没有安装Python或者版本过低,我们需要继续以下步骤。步骤2:安装依赖在安装Python之前,我们需要
- 如何使用GraphX在Spark中进行图计算
python资深爱好者
spark大数据分布式
GraphX是ApacheSpark的一个图计算框架,它允许开发者在分布式环境中进行大规模的图数据处理和分析。以下是如何使用GraphX在Spark中进行图计算的基本步骤:1.环境准备首先,确保你已经安装了ApacheSpark,并且你的Spark版本支持GraphX。GraphX是Spark的一个组件,因此通常与Spark一起安装。2.导入GraphX库在你的Spark应用程序中,你需要导入Gr
- flash_attn安装出现的错误及本地安装package
flow_code
人工智能深度学习经验分享
前言flash_attn安装包是在大模型的建立过程中是一个非常重要的package,但是直接使用命令行安装会出现报错。1.报错直接安装:pipinstallflash_attn错误:Buildingwheelsforcollectedpackages:flash_attnBuildingwheelforflash_attn(setup.py)…errorerror:subprocess-exite
- flash_attn安装
壶小旭
PythonLinuxpython
flash_attn安装1.cuda-nvcc安装https://anaconda.org/nvidia/cuda-nvcc2.torch安装#https://pytorch.org/#找到对应cuda版本的torch进行安装pip3installtorchtorchvisiontorchaudio--index-urlhttps://download.pytorch.org/whl/cu1213
- CentOS8 解决设置基础软件仓库时出错
kewen_123
linux
安装源设置代理url:https://mirrors.aliyun.com/centos/8-stream/BaseOS/x86_64/os/
- 【python】flash-attn安装
x66ccff
python开发语言
这个命令:确保使用正确的CUDA12.6工具链设置必要的CUDA环境变量包含了常见的GPU架构支持利用你的128核心进行并行编译#清理之前的安装proxychains4pipuninstall-yflash-attn#获取CUDA路径CUDA_PATH=$(dirname$(dirname$(whichnvcc)))#使用proxychains4安装CUDA_HOME=$CUDA_PATH\TOR
- Node.js 完全教程:从入门到精通
web15117360223
面试学习路线阿里巴巴node.js
Node.js完全教程:从入门到精通Node.js是一个基于ChromeV8引擎的JavaScript运行环境,允许开发者在服务器端使用JavaScript。它的非阻塞I/O和事件驱动架构使得Node.js非常适合于构建高性能的网络应用。本文将详细介绍Node.js的安装、基本语法、模块系统、异步编程、Express框架、数据库操作等内容,帮助你从入门到精通Node.js。1.Node.js简介N
- Linux编写C++程序
不爱菠萝的菠萝君
linuxc++
1、安装gcc、g++编译器1.切换root用户suroot然后输入密码2.输入命令yuminstallgccyuminstallg++3.通过查找路径来检查安装是否完成whichgccwhichg++2.编写代码1.打开linux自带的文本编辑器(这样方便一点),比在终端操作简单一些。2编写好c++代码。修改为cpp后缀的文件并保存。如果编写c语言,后缀名为c3.记下文件路径。3.编译文件1.打
- 深入探索 llama-cpp-python:在 LangChain 中启用本地 LLM 推理
aehrutktrjk
llamapythonlangchain
引言在人工智能的迅猛发展中,大语言模型(LLM)扮演着不可或缺的角色。Llama.cpp是一个用于推理许多LLM模型的开源库,它的Python绑定——llama-cpp-python提供了在Python中更加便捷的接口。这篇文章旨在介绍如何在LangChain中运行llama-cpp-python,并探讨其安装和使用中的一些细节。主要内容1.安装llama-cpp-python首先,我们需要选择合
- llama-cpp-python本地部署并使用gpu版本
i__chen
llamapython开发语言
使用带编译的命令安装llama库#首选GGML_CUDA后续LLAMA_CUBLAS将删除CMAKE_ARGS="-DGGML_CUDA=on"FORCE_CMAKE=1pipinstallllama-cpp-python--no-cache-dirCMAKE_ARGS="-DLLAMA_CUBLAS=on"FORCE_CMAKE=1pipinstallllama-cpp-python--no-c
- Fail to connect to camera service的几种原因和解决方法
编程日记
Android开发
在应用开发中涉及到camera相关的操作经常会出现Failtoconnecttocameraservice的问题,相应的也就会出现上面类似的错误异常日志。下面就出现这个错误的场景和原因简单做下分析。1.手机上有安装安全过滤软件。因为camera属于较为敏感的权限,所以,有些手机安全管家会自动拒绝camera的打开操作。针对这种错误,可以在手机安全管家软件中,降低一下camera的安全级别,或把自己
- Nginx + ElasticSearch + Kibana结合
周天祥
ElasticSearch大数据
Nginx+ElasticSearch+Kibana结合操作系统软件下载安装编译工具及库文件安装PCRE安装NginxElasticSearch配置Kibana配置Nginx配置启动Nginx对人工智能感兴趣点下面链接现在人工智能非常火爆,很多朋友都想学,但是一般的教程都是为博硕生准备的,太难看懂了。最近发现了一个非常适合小白入门的教程,不仅通俗易懂而且还很风趣幽默。所以忍不住分享一下给大家。点这
- 强大的 solidity 框架:Foundry 轻松上手
代码搬运媛
区块链
Foundry简介Foundry是一个强大的Solidity开发框架,帮助开发者高效地构建、测试和部署智能合约。优势以solidity为第一公民,可以完全使用solidity开发与测试强大的测试功能,方便模拟各种情况,支持模糊测试使用rust语言编写,包含一系列可以与Ethereum交互的工具安装Foundryup是foundry工具包的安装器,通过它我们来完成foundry的安装,首先,在终端执
- Vue3使用Axios请求二次封装(包含跨域配置)
数学分析分析什么?
Vue相关前端vuejavascript
一.axios安装与封装1.1安装npminstallaxios1.2二次封装1.引入axiosimportaxiosfrom'axios'2.创建axios实例使用axios对象中的create方法创建实例。可以在创建实例时,配置基础路径、超时响应时间。constrequest=axios.create({//基础路径baseURL:import.meta.env.VITE_APP_BASE_A
- windows下srs流媒体服务器使用ffmpeg推流
-Mr_X-
ffmpeg
安装windows版本srs下载链接:Windows|SRS执行命令:ffmpeg推流命令:ffmpeg-i"rtsp://admin@xxzx@192.168.1.64:554/Streaming/Channels/101"-c:vcopy-c:aaac-fflv"rtmp://localhost:1935/live/stream"1.推流本地摄像头到流媒体服务器适用于将本地摄像头实时推流到RT
- nginx 反向代理 ElasticSearch es
布丁萨玛
nginxelasticsearch运维
本文讲述如何使用nginx代理kibana1、更改kibana.yml文件添加前缀2、nginx添加配置location/kibana/{proxy_passhttp://127.0.0.1:5601/;rewrite^/elk/(.*)$/$1break;proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerHost$host:$server
- YashanDB安装前准备
数据库
本文内容来自YashanDB官网,原文内容请见https://doc.yashandb.com/yashandb/23.3/zh/%E5%BF%AB%E9%80%9F%...本章节将介绍个人版单机形态YashanDB服务端安装部署所需的前期准备,安装前请根据本文所述内容进行相关配置。演示环境如下:操作系统CPU内存CentOSLinuxx86\_6432G服务器准备下表为个人开发环境最小配置,请根
- ElasticSearch-head 谷歌浏览器安装插件
夜古诚
ELKelasticsearch
1.windows解压安装包elasticsearch-head-master.zip2.移动解压后的文件夹到你需要的目录3.crx目录下的文件es-head.crx改为es-head.zip然后解压到当前目录4.谷歌浏览器中添加插件5.选择解压的elasticsearch-headcrx文件夹成功...
- windows基础
网络安全-老纪
windows
系统目录服务端口注册表黑客常用DOS命令(在拿到shell时会用到)一、系统目录Windows目录系统的安装目录System32àconfigàSAM文件是用户密码的存储文件System32àetcàhost文件记录本地解析(优先级大于DNS域名解析)可以自行添加域名解析记录System32àcmdexe用户目录用户家目录,存放缓存文件、桌面文件Programfile64位软件安装路径Progra
- python 第三方库 打包 离线电脑安装
新手老张
离线环境安装python
最开始一个个下载第三方库,然后拷贝到离线电脑pip安装,弄好了发现离线电脑系统有问题,重装,,,,前面的又白干了。找了很久,终于找到2022-4月可行且简单的方法:Python第三方库离线安装包制作_Chelseady的博客-CSDN博客_python第三方库的离线安装1.清理python环境:使用piplist命令查看已安装的包;如果有其它的包,则使用pipuninstall[包名]进行删除;2
- linux内核模块管理命令lsmod、insmod、rmmod、modinfo、modprobe、depmod
zbee
Linux命令linux服务器驱动开发c语言
文章目录前言一、Linux内核模块管理命令二、基本介绍2.1这些命令均是安装再“kmod”包中2.1CentOS中所有与内核模块相关的文件都存放在"/lib/modules/$(uname-r)/“下面(不管32位还是64位系统,都在/lib/...之下):三、命令介绍3.1lsmod查看内核已加载的模块3.2lsmodmodinfo:查看模块的基本信息3.3insmod:将指定模块加载到内核,建
- Anaconda 2025 最新版安装与Python环境配置指南(附官方下载链接)
waicsdn_haha
程序员教程pythonlinuxjupyterfpga开发javawindows
一、软件定位与核心功能Anaconda2025是Python/R数据科学集成开发平台,预装1500+科学计算库,新增AI模型可视化调试、多环境GPU加速等特性。相较于传统Python安装,其优势包括:环境隔离:通过conda工具实现多版本Python环境共存包管理:一键安装NumPy/Pandas/Scikit-learn等工具链跨平台支持:Windows/macOS/Linux统一操作逻辑二、安
- Rust入门
三生有杏*
Rustrust
rust入门官网Rust程序设计语言(rust-lang.org)安装官网下载Rustup执行安装VisualStudio,勾选C++桌面开发选项(window环境)helloworld创建项目cargonewhello编译cargobuild执行target/debug目录下hello.exe类型系统概述什么是类型?类型是对二进制数据的一种约束行为.类型比起直接使用二进制数据,有许多优势:少开发
- Ubuntu显示设置窗口太大显示不全无法修改
国晶创新
ubuntulinux
问题描述:使用VMware安装Ubuntu后,界面显示不是全屏的,看着别扭,所以想调整一下分辨率,不小心导致窗口太大,显示不出来下面的确认按钮了,就导致改不回来。解决方法:dconfreset-f/
- Docker安装nacos-server(单机模式),超详细
拄杖忙学轻声码
DockerPodman和K8sSpringCloudAlibabadockerspringcloud
介绍:大家都知道Nacos可以作为服务注册中心和配置中心。这里简单介绍一下docker安装Nacos,这里以2.5.0版本为例,更高版本安装步骤大概也是如此一、拉取nacos-server镜像,这里以2.5.0版本为例dockerpullnacos/nacos-server:v2.5.0二、创建挂载目录,用于把配置文件映射到容器目录1、使用常规目录挂载#创建挂载目录mkdir-pnacos/con
- > vue-standard@0.1.0 serve > vue-cli-service serve ‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
Merlyn10
vue.js前端
出现'vue-cli-service'不是内部或外部命令错误通常意味着vue-cli-service没有被正确安装或者没有被添加到系统的PATH中。vue-cli-service是VueCLI提供的一个开发依赖,它应该在项目的node_modules/.bin目录下。要解决这个问题,请尝试以下步骤:确保依赖已安装:在项目根目录下运行以下命令来安装项目的依赖:npminstall或者如果你使用的是Y
- python安装pyaudio_我不能在我的python上安装pyaudio?怎么做?
weixin_39613385
python安装pyaudio
我有一台windows10pc,我想安装pyaudio,以便与chatterbot一起使用,chatterbot支持,我尝试了两种不同的安装pyaudio的方法。方法是在命令提示符下编写python-mpipinstallPyAudio结果是:C:\Users\Waaberi>python-mpipinstallPyAudioCollectingPyAudioUsingcachedhttps://
- 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