- 由InputStream.available()引发的偶现bug
eduiH
踩坑记录java面试springboot
案情经过需求是通过Feign下载一个文件,然后将下载接口得到的InputStream文件转成MultipartFile类型然后再调另外一个接口。从Feign返回的InputStream中读取文件流转换成MultipartFile类型过程中会涉及到将InputStream转成OutputStream的操作。由于懒得找所以直接使用了前辈写的工具类,也懒得看实现细节,先把功能实现其他再说。代码大概是这样
- element-ui 中 使用<el-upload></el-upload>组件,第二次点击上传无反应
今天星期八
vue.js前端javascriptelementui
出现问题:在vue项目中使用el-upload组件,实现文件上传的功能,第一次点击可以上传,第二次点击按钮无反应出现此问题的原因:由于上次上传的文件流还在,未被清除解决办法:通过ref与组件进行关联导入在上传成功的函数中进行清空流文件handleAvatarSuccess(response,file,fileList){this.$refs.fileUploadBtn.clearFiles();/
- vue如何解析后台传回的文件流
我还能再卷一点
vue.js前端javascript
一、配置axios的响应类型请求拦截器中增加代码,判断如何调用的接口是文件下载接口将响应类型设置成blobconfig.responseType='blob'二、将获取回来的文件流转换成base64blobToBase64(blob){returnnewPromise((resolve,reject)=>constfileReader=newFileReader();fileReader.onlo
- 前端如何传递文件流给后台
我还能再卷一点
前端
创建一个新的FormData对象,并添加需要上传的数据。constformData=newFormData();formData.append('key1','value1');formData.append('key2','value2');//添加文件或其他表单数据如果使用的是axios,要在request的时候将content.headers['Content-Type']='multipa
- 【C++ 标准流,文件流】
光芒Shine
#C++c++
C++标准流,文件流■标准输入,输出流,■文件流(ofstream写入,ifstream读取,fstream创建-写入-读取)■open()■ofstream■ifstream■流插入和。2.数据类型描述ofstream该数据类型表示输出文件流,用于创建文件并向文件写入信息。ifstream该数据类型表示输入文件流,用于从文件读取信息。fstream该数据类型通常表示文件流,且同时具有ofstre
- 关于前端实现文件下载功能
大鱼前端
前端
在Web开发中,前端下载文件是一个常见的需求。根据文件来源和下载方式的不同,前端下载文件可以采用多种方案。下面将介绍几种常见的前端下载文件方案。1、通过window.open()打开新页面下载文件window.open(`url`, "_self");使用场景:下载excel文件,后端提供接口,接口返回的是文件流,可以直接使用window.open(),最简单的方式。优点:最简洁;弊端:当参数错误
- 0218 嵌入式第十八天
obverd
开发语言
函数接口fgetcintfgetc(FILE*strem)功能:从流中读取下一个字符参数:stream:文件流指针返回值:成功返回读到字符的ASCII码值失败返回EOF读到文件末尾返回EOP文件拷贝2.fputsintfputs(const*s,FILE*stream)功能:向流中写入一个字符串参数:S:字符串首地址Stream:文件流指针返回值:成功非负数失败返回03.fgetscharfget
- Python文件处理(IO 技术)
弓.长.
python开发语言
文章目录Python文件处理一、文本文件和二进制文件1.文本文件2.二进制文件二、文件操作相关模块概述三、创建文件对象open()四、文本文件的写入1.基本的文件写入操作2.常用编码介绍3.中文乱码问题4.close()关闭文件流5.文本文件的读取6.二进制文件的读取和写入五、文件对象的常用属性和方法文件对象的属性文件对象的打开模式文件对象的常用方法六、文件任意位置操作七、CSV文件的操作1.cs
- 如何使用Net2FTP部署本地Web网站并实现远程文件共享
学编程的小程
前端数据库
文章目录1.前言2.Net2FTP网站搭建2.1.Net2FTP下载和安装2.2.Net2FTP网页测试3.cpolar内网穿透3.1.Cpolar云端设置3.2.Cpolar本地设置4.公网访问测试5.结语1.前言文件传输可以说是互联网最主要的应用之一,特别是智能设备的大面积使用,无论是个人存储文件资料,还是商业文件流转,都有数据存储和传输的需求。有需求就有市场,相应的传输软件层出不穷,而这些软
- 提高供应商收发文件效率的同时,如何保障数据的安全流转?
Ftrans
供应商协同安全网络运维
数据文件是制造业企业的核心竞争力,一旦发生数据外泄,就会给企业造成经济损失。之前就出现过像小米二级供应商因对其下游供应商管理不善,泄露了小米汽车前后保险杠的早期设计稿事件。制造业企业与供应商之间业务联系紧密,文件流转频繁,企业可能每天要与几十、上百家供应商进行文件交换。因此对于供应商收发文件操作,需要建立完善的安全机制。供应商收发文件的常见方式有FTP传输、邮件或网盘等,但多少会存在一定问题。比如
- c++文件操作
黑菜钟
c/c++c++开发语言
目录前言:对于输入输出流解释:为什么要学习文件操作?有什么用?分类:分为文本文件和二进制文件操作文件的三大类流ofstream:ifstream:fstream:⭐对于文件流对象的解读1.文本文件:1.1如何写文件?文件打开方式:代码示例:如何查看文件?1.2如何读文件?文件读取的方式:方法一:方法二:方法三:2.二进制文件2.1写文件步骤:⭐利用流对象调用write函数代码示例:2.2读取文件代
- linux - sed 使用教程
大猪大猪
在日常的linux系统使用中经常会有替换文件字符串,删除查询等功能,sed命令为此而生,大猪也要复习复习一下了。使用指南字符串替换下面例子把input.txt文件中所有出现的hello替换成worldsed's/hello/world/'input.txt>output.txt如何没有指定文件流,或者是文件已经删除,可以过滤标准的输入流,下面的3句命令是等价的sed's/hello/world/'
- 嵌入式学习记录19
挽梦422
学习
一.函数接口:1.fwrite形式size_tfwrite(constvoid*ptr,size_tsize,size_tnmemb,FILE*stream);功能:向流中写入nmemb个对象,每个对象size字节大小,在ptr指向的空间中参数:ptr:存放数据空间的首地址size:每个数据对象的大小nmemb:数据对象的个数stream:文件流指针返回值:成功返回写入对象的个数失败返回0读到文件
- C语言基础-fscanf函数使用示例
shuaixio
C/C++c语言开发语言后端
fscanf()函数头文件:stdio.h函数定义:intfscanf(FILE*stream,constchar*format,[argument…]);stream:文件指针format:转换格式,比如%d,%f等argument:参数地址表,与scanf类似函数说明:从stream的文件流中顺序读取字符,再根据format来转换并格式化数据。转换后的结构存于对应的参数内返回值:成功则返回参数
- js 预览excel/csv
stpzhf
前端javascript
git地址:https://gitee.com/nulicainiao/analyzing-excel-csv.git一、直接上代码1.下载引入使用xlsx.js插件及cptable.js文件importXLSXfrom'./xlsx'importcptablefrom'./cptable.full'functionfixdata(data){//文件流转BinaryStringvaro="",l
- 系统调用之文件IO
十万个秋刀鱼
前端开发语言c语言
学习完使用标准io库函数,进一步深入linux的内核实现系统的调用,本节主要学习文件io的相关函数。标准IO与文件IO的区别标准io是库函数,是系统调用的封装。文件io是系统调用,是linux内核中的函数。标准io有缓存,文件io无缓存文件流指针、文件描述符文件IO1、文件的打开与关闭(open/close)操作步骤为:打开文件->操作文件->关闭文件联系:在标准io中打开文件使用的是fopen函
- Hive的相关概念——架构、数据存储、读写文件机制
爱吃辣条byte
#Hivehive数据仓库
目录一、架构及组件介绍1.1Hive整体架构1.2Hive组件1.3Hive数据模型(DataModel)1.3.1Databases1.3.2Tables1.3.3Partitions1.3.4Buckets二、Hive读写文件机制2.1SerDe作用2.2Hive读写文件流程2.2.1读取文件的过程2.2.2写入文件的过程2.3SerDe相关语法2.3.1LazySimpleSerDe分隔符指
- vue-pdf问题求解-扫描得到的pdf文件渲染慢甚至一直白屏无显示
React强
用的是vue-pdf版本3.3.1。在钉钉端的H5应用用到vue-pdf展示pdf文件,用到了左右滑屏翻页的功能。现在遇到的问题是当加载的是一个扫描得到的文件时,在页面上完成pdf文件流的请求后渲染页面内容特别慢,或者一直白屏无显示,每次翻页又会白屏很久。H5控制台报了这两个警告Warning:Unabletodecodeimage:RangeError:Arraybufferallocation
- C#NPOI获取Excel的DataTable
mouka~
WordExcelTXTXML
第一种:通过表名获取//////从Excel中获取Datatable//////路径///表下标///从第几行开始(表头行)///publicstaticDataTableGetDataTable(stringpath,intsheetIndex=0,intfieldRowIndex=0){//保存获取表格的数据DataTabledt=newDataTable();try{//获取文件流using
- 波奇学Linux:文件缓冲区
社交达人波奇酱
linux运维服务器
问题导入文件流输出直接向显示器和重定向文件有不一样的表现分别向显示器文件输出四个语句,最后fork创建子进程。当程序运行时和程序重定向到文件中,输出的内容不一样。重定向时c库函数(printf,fprintf,fwrite)调用了两次,而系统调用write函数只调用了一次关闭对应的虚拟文件,只有系统调用可以输出屏蔽系统调用,同时关闭显示器对应的虚拟文件运行程序没有任何输出,只有系统调用有输出。如果
- Django-用户验证 & 项目部署(七)
乐智由我
文件上传文件上传必须为POST提交方式表单中文件上传时必须有带有enctype="multipart/form-data"时才会包含文件内容数据。表单中用标签上传文件名字xxx对应request.FILES['xxx']对应的内存缓冲文件流对象。可通能过request.FILES['xxx']返回的对象获取上传文件数据file=request.FILES['xxx']file绑定文件流对象,可以通
- Cannot call sendError() after the response has been committed
六月的北回归线
javajava
今天在通过java写接口的时候碰到一个问题,场景是导出一个excel文档,通过response输出文件流,最后输出流的时候报了这样一个错误:WARN[org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver.doResolveException(DefaultHandlerExceptionResolve
- C++中的文件操作+流操作
依然^^^
C++c++开发语言
1、文件流操作fstream库是C++STL中对文件操作的合集,包含了常用的所有文件操作。在C++中,所有的文件操作,都是以流(stream)的方式进行的,fstream也就是文件流filestream。最常用的两种操作为:1、插入器(>)——从文件输入流从流中输入数据。比如说打开了文件流fin,那么定义整型变量x的情况下intx;fstreamfin;fin>>x;就是从文件中读取一个整型数据,
- Vue实现在线编辑excel
杀猪刀-墨林
#Vue2excel前端在线编辑vueLuckysheet
目录luckysheet1.插件引入2.声明excel在线预览编辑组件3.excelJs分解Dom为excel文件流luckysheet文档地址exceljs文档地址前言介绍:原先平台没有要求在线编辑excel功能,excel文件是表单新增记录展现表格信息的一条记录信息,用于展示excel文件名称,支持下载功能,后续可能是客户嫌弃文件下载网速过慢,所以要求支持在线预览和编辑功能。项目周会讨论时提到
- vue处理文件流 点击下载文件
吃肉肉不吃肉肉
download(item){this.name=item.classvarthat=thisapis.GetFiles({id:item.id}).then(res=>{that.downloadGO(res)}).catch(()=>{})},downloadGO(data){if(!data){return}leturl=window.URL.createObjectURL(newBlob(
- Cpp-3
-seventy-
#C/C++c++
文件和流/*1.文件操作这需要用到C++中另一个标准库fstream2.对于标准库fstream,它定义了三个新的数据类型:数据类型描述ofstream表示输出文件流,用于创建文件并向文件写入信息ifstream表示输入文件流,用于从文件读取信息fstream表示文件流,且同时具有ofstream和ifstream两种功能,这意味着它可以创建文件,向文件写入信息,从文件读取信息记忆:OutFile
- 【python】socket-传输多个文件、大文件
苗杨
python网络tcp/ip
socket-传输多个文件、大文件0-前言1-发送单个文件流程2-关于发送大文件,本地读取时报错MemoryError3-关于粘包问题背景排错过程解决方案4-备注-换算表0-前言看过挺多个发文件的例子,但是基本都是发单个,且是发完连接就结束了最近正好需要一个连接发送多个文件,根据需求产生以下内容涉及知识点:socket的客户端和服务端应用、json、TCP粘包处理1-发送单个文件流程【客户端】获取
- fgetc、fputs、fgets函数使用及实例——Linux编程——day2
Yifannn~
Linuxlinuxjava服务器
今天主要学习了fgetc、fputs、fgets函数的使用规则fgetsintfgetc(FILE*stream);功能:从流中读取下一个字符参数:stream:文件流指针返回值:成功返回读到字符的ASCII码值失败返回EOF读到文件末尾返回EOF示例:编写程序统计文件的行数该示例主要统计stdio.h文件中的行数#includeintmain(void){FILE*p=NULL;p=fopen(
- axios下载文件
ziyue7575
vueaxios前端
若是响应直接就是文件流axios({method:"get",//根据接口来url:url+"?"+params,//参数正常设置即可,我这里是因为参数设置了list,拼接有点问题就自定义了headers:{//token:_this.Token,//"Content-Type":"application/octet-stream;charset=UTF-8",},responseType:'bl
- 二进制文件和文本文件到底有什么不同?(二)
teengad
计算机系统文本文件二进制文件
1)文本文件:这类文件以文本的ASCII码形式存储在计算机中。它是以"行"为基本结构的一种信息组织和存储方式。2)二进制文件:这类文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们,只有通过相应的软件才能将其显示出来。二进制文件一般是可执行程序、图形、图像、声音等等。C++标准库提供了基于输入/输出流机制的文件操作,叫做文件流(FileStream)。打开文件的时候,可以用参数制定按照
- 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