- windows通过cmd命令行下载FTP中文件的几种方式
程序员学习随笔
windows通过命令行下载FTP中文件的几种方式方式总结windows通过命令行下载FTP中文件的几种方式使用ftp命令使用映射方式copy使用ftp命令如果使用窗口操作直接输入命令即可(1)登录匿名(服务器支持的话):ftp-Ahost不匿名:1.ftp2.openhost3.输入用户名密码(2)下载使用mget地址即可下载(3)退出输入bye或quit使用脚本方式,不能直接把上面命令放到脚本
- Redis合集 第一章 数据结构 第一节 String数据结构
不服就1v1男人大战
redisredis数据结构数据库
String的分类String普通字符串int整数可以做自增自减float浮点类型可以做自增自减注意:底层都是用字节数组存储只不过编码的方式不同常用命令set新增或修改key的valueget得到key的valuemset设置多个键值对mget得到多个key的valueincr让一个int的key增加1incrby让一个int的key自增并指定步长incrbyfloat让一个浮点数的数字自增并指定
- Jedis
niceffking
javaEE进阶Redisredisjedisjava
目录依赖下载配置SSH转发连接到redis服务器客户端的使用get/setexists/delkeysexpire/ttltype字符串命令mget/msetgetrange/setrangeappendincr/decr列表listpush/pop/lrangeblpop/brpopllen集合setsaddsismemberscardspopsintersinterstorehashhset/
- ubuntu 之 lftp 上传 和下载
卫龙~
Ubuntuubuntulinux运维
座右铭:怎么简单怎么来,以实现功能为主。欢迎大家关注公众号与我交流1.安装sudoapt-getinstalllftp2.简单教程2.0声明:上传或下载文件用get或mget,这种方式不包含文件夹本身,如果需要连文件夹一起上传或下载则需要使用mirror2.1查看当前目录下有哪些东西:ls2.2进入到指定目录:cd目录2.3选择文件下载的本地储存位置:lcd本地目录2.4下载文件:mgetrdir
- MGET
彳亍口巴
MGET源码publicRedisFuture>>mget(Iterablekeys){//获取分区slot和key的映射关系Map>partitioned=SlotHash.partition(codec,keys);//如果分区数小于2也就是只有一个分区即所有key都落在一个分区就直接获取if(partitioned.size()slots=SlotHash.getSlots(partitio
- Redis Cluster基于客户端对mget的性能优化
转转技术团队
redis性能优化数据库
文章目录1背景2分析原因2.1现象2.2定位问题2.2.1RedisCluster的架构设计2.2.2Lettuce的mget实现方式3解决问题3.1使用hashtag3.2客户端改造3.2.1改造JedisCluster3.2.2处理异常case4效果展示4.1性能测试4.1.1mget100key4.1.2mget500key4.1.3mget1000key4.2结论5总结1背景Redis是知
- Redis学习笔记 ——(8)Pipeline
码农小高
Redisredis数据库
Redis学习笔记——(8)PipelineRedis可以通过Pipeline机制有效提高客户端性能。Redis的执行命令过程如下:发送命令命令排队命令执行返回结果其中1和4倍成为RoundTripTime(RTT,往返时间)。为什么要使用PipelineRedis提供来批量操作命令,例如mget、mset等,有效的节约RTT,但是大部分命令是不支持批量操作的,录入要执行n次hgetall命令,并
- Redis常见命令
Shen-Childe
Redisredis数据库缓存
文章目录Redis常见命令一、Redis数据结构介绍1、简介2、官网命令查询3、help命令查询二、Redis通用命令1、set(设置或修改数据)2、get(获取数据)3、select(切换库)4、keys(查看所有key)5、mset(设置多个key)6、mget(通过key获取多个value)7、del(删除一个或多个key)8、exists(判断key是否存在)9、expire(设置key的
- Redis(五)管道
Lucky_Turtle
Javaredis数据库缓存
文章目录官网总结Pipeline与原生批量命令对比Pipeline与事务对比使用Pipeline注意事项官网https://redis.io/docs/manual/pipelining/Pipeline是为了解决RTT往返回时,仅仅是将命令打包一次性发送对整个Redis的执行不造成其它任何影响总结Pipeline与原生批量命令对比原生批量命令是原子性(例如:mset,mget),pipeline
- 72.批量执行Redis命令的4种方式!
百里守约学编程
goredis数据库
文章目录前言一、Redis命令执行过程二、原生批量命令三、pipeline(管道)四、Lua脚本五、Redis事务六、RedisCluster模式下该如何正确使用批量命令操作?前言在我们的印象中Redis命令好像都是一个个单条进行执行的,但实际上我们是可以批量执行Redis命令的。最容易想到的是Redis的一些批量命令,例如MGET总结而言,一共四种批量执行Redis命令的方式一、Redis命令执
- 1 - 搭建Redis数据库服务器|LNP+Redis
桑_榆
数据库数据库redis服务器
搭建Redis数据库服务器|LNP+Redis搭建Redis数据库服务器相关概念Redis介绍安装RedisRedis服务常用管理命令命令set、mset、get、mget命令keys、type、exists、del命令ttl、expire、move、flushdb、flushall、save、shutdown配置文件解析LNP+Redis部署网站运行环境LNP环境统一使用host50做网站服务器
- 2024.1.11 关于 Jedis 库操作 Redis 基本演示
茂大师
Redisredisbootstrap数据库
目录引言通用命令SET&GETEXISTS&DELKEYSEXPIRE&TTLTYPEString类型命令MGET&MSETGETRANGE&SETRANGEAPPENDINCR&DECRList类型命令LPUSH&LRANGLPOP&LPOPBLPOP&BRPOPLLENSet类型命令SADD&SMEMBERSSISMEMBERSSCARDSPOPSINTERSINTERSTOREHash类型命
- Elasticsearch初识之索引的批量操作
hcj_ER
elasticsearch搜索引擎
批量查询和批量增删改批量查询GET/_mget批量写入:POST/_bulkPOST//_bulk{"action":{"metadata"}}{"data"}注意:bulkapi对json的语法有严格的要求,除了delete外,每一个操作都要两个json串(metadata和businessdata),且每个json串内不能换行,非同一个json串必须换行,否则会报错;bulk操作中,任意一个操
- Redis小计(4)
不会敲代码的运气选手^
知识记录redis
目录1.Set和Get操作2.mset和mget3.mset,mget,set后加参数的优点4.incr,incrby,incrbyfloat1.Set和Get操作flushall:清除所有k-v键值对。(删库跑路小技巧)setkv[ex|px]:设置超时时间,ex秒级,px毫秒级。setkv[nx|xx]:nx:当key不存在时再设置。xx:当key存在时再设置(刷新value)。否则返回nil
- redis核心技术梳理(持续更新)
泡^泡
Redisredisjava缓存
redis常用命令get/set/exists/del/keys/rename/dbsize/type/mget/mset/expire/setnx/incr/decr/append/flushallredis的数据类型String/Hash/List/Set/Zset/Hyperloglog/Geo/Stream/BitMapsMemcached和Redis的主要区别是什么Memcached:只
- Redis 大/热Key故障处理流程
Evan_su
Redisredis
一、背景应用持续访问又大又热的key,会造成Redis实例CPU高、流量被打满、数据在内存积压,甚至导致实例达到配额限制被oom-kill。在异步调用、pipeline、mget等批量调用场景比较常见。大key分为两种情况集合元素多且全量获取集合数据:命令时间复杂度是O(N),持续访问这样的key会导致CPU打满,业务响应变慢,甚至超时。而且响应得不到及时发送,积压在内存,最终触发oom-kill
- 2023.12.22 关于 Redis 数据类型 String 常用命令
茂大师
Redisredis数据库缓存
目录引言String类型基本概念SET&GETSET命令GET命令MSET&MGETMSET命令MGET命令SETNX&SETEX&PSETEXSETNX命令SETEX命令PSETEX命令计数命令INCR命令INCRBY命令DECR命令DECRBY命令INCRBYFLOAT命令总结字符串操作命令APPEND命令GETRANGE命令SETRANGE命令STRLEN命令引言redis中所有的key均为
- 5.Redis管道(pipeline)
凇:)
Redisjava开发语言redis
5.Redis管道(pipeline)如何优化频繁命令往返造成的性能瓶颈?引出管道这个概念管道(pipeline)可以一次性发送多条命令给服务端,服务端依次处理完毕后,通过一条响应一次性结果返回,通过减少客户端与Redis的通信次数来实现降低往返延迟时间。管道实现的原理是队列,先进先出特性就保证数据的顺序性。是什么?批处理命令变种优化措施,类似Redis的原生批命令(mget、mset)管道与原生
- redis-学习笔记(Jedis string 简单命令)
Mr.anla
redis学习笔记
mset&mget批量设置和获取键值对可以看出,参数都是可变参数(就是说,可以写任意个)代码演示getrange&setrange获取和设置string类型中某一区间的值代码演示append往字符串的末尾拼接字符串代码演示incr&decr如果string中为数字的话,可以进行自增和自减操作incr自增1incrBy使key对应的vlaue增加incrementincrByFloat可以操作浮点精
- 接口测试--知识问答
测试界的路飞
软件测试技术分享自动化测试软件测试
1做接口测试当请求参数多时tps下降明显,此接口根据参数从redis中获取数据,每个参数与redis交互一次,当一组参数是tps5133,五组参数是tps1169,多次交互影响了处理性能,请详细阐述如何改进增进效果的方案。将从redis获取数据的get改为mget,减少交互次数2接口的加密测试中对称加密与非对称加密有什么区别?如何开展测试?请详解对称加密是最快速、最简单的一种加密方式,加密(enc
- R | 提取GO分类下的所有基因
尘世中一个迷途小书僮
问题描述有时候我们想知道与某一个GO注释分类相关的基因有哪些,那么我们就需要一种方法将注释到这个GOterm所有的基因提取出来解决方案在搜索一轮后,发现可以通过以下代码解决:library(tidyverse)library(org.Hs.eg.db)GOgeneID%mget(org.Hs.egSYMBOL)%>%unlist()下面用DNA复制(GO:0006260)这一生物学过程为例子,使用
- 接口测试--知识问答
测试界的路飞
技术分享软件测试测试工具压力测试
1做接口测试当请求参数多时tps下降明显,此接口根据参数从redis中获取数据,每个参数与redis交互一次,当一组参数是tps5133,五组参数是tps1169,多次交互影响了处理性能,请详细阐述如何改进增进效果的方案。将从redis获取数据的get改为mget,减少交互次数2接口的加密测试中对称加密与非对称加密有什么区别?如何开展测试?请详解对称加密是最快速、最简单的一种加密方式,加密(enc
- 20190506-R语言向量操作函数assign、get、mget
天空的小白
Usage①assign(x,value,pos=-1,envir=as.environment(pos),inherits=FALSE,immediate=TRUE)将value赋值给x;②get(x,pos=-1,envir=as.environment(pos),mode="any",inherits=TRUE)在指定环境中搜索名字为x的变量并返回它的值,x只能是一个字符;③mget:mge
- redis-基础
柯南01
redis数据库缓存
数据类型1.1字符串String是最常用的数据格式,普通的kay-value都归结为此类,value值不仅可以是string,可以是数字。使用场景:通过用户的访问次数为依据封锁ip,可以将用户的访问次数已string类型记录在redis中,并通过INCRBY操作,每次访问进行递增。常用命令:get,set,incr,decr,mget示例:setsetnamezhangsangetgetname#
- 深入学习redis-基于Jedis通过客户端操作Redis
啵啵虎的抽抽
Redisredis数据库缓存
目录redis客户端(JAVA)配置引入依赖建立连接常用命令实现get/setexists/delkeysexpire和ttltype字符串(String)mget和msetgetrange和setrangeappendincr和decr列表(list)lpush和lrangerpushlpoprpopblpopllen集合(set)sadd和smemberssismemberscardspops
- redis运维(十八)pipeline
wzj_110
redis运维pipeline
一pipeline流水线说明:这里讲解的不是'jenkins'的'pipeline'流水线这里'pipeline':管道redis为什么要提供pipeline功能事务和pipeline①pipeline的理念强调:单纯的pipeline跟'事务'没有关系redis-cli--pipe-->使用了'pipeline机制'说明:'原生'的批量操作mget、mset是'原子'的,而pipeline是'非
- Redis入门与应用
lxtx-0510
redis前端数据库
目录Redis的技术全景两大维度三大主线Redis的版本选择与安装Redis的linux安装Redis的启动默认配置带参数启动配置文件启动操作停止Redis全局命令键名的生产实践Redis常用数据结构字符串(String)操作命令set设置值get获取值mset批量设置值mget批量获取值Incr数字运算append追加指令strlen字符串长度getset设置并返回原值setrange设置指定位
- elasticsearch的mget的批量查询和bulk的批量新增和批量更新以及批量删除
铁臂阿童木爱java
elasticsearches
elasticsearch的批量查询一、使用mget批量获取1.通过mget实现批量查询,并且可以通过found字段返回的数据判断数据是否存在,如果返回false则表示数据不存在,返回true则表示数据存在POST192.168.1.117:9200/sell/_doc/_mget{"ids":["1001","1003","10015"]}二、使用bulk批量操作数据bulk官方文档基本语法bu
- 接口测试--知识问答
程序员曦曦
软件测试工程师自动化测试软件测试功能测试软件测试自动化测试程序人生职场和发展
1做接口测试当请求参数多时tps下降明显,此接口根据参数从redis中获取数据,每个参数与redis交互一次,当一组参数是tps5133,五组参数是tps1169,多次交互影响了处理性能,请详细阐述如何改进增进效果的方案。将从redis获取数据的get改为mget,减少交互次数2接口的加密测试中对称加密与非对称加密有什么区别?如何开展测试?请详解对称加密是最快速、最简单的一种加密方式,加密(enc
- 【学习笔记】高并发必备技术——3.Redis的数据结构
一口八宝周
Redis学习redis
目录1.String常用命令1.set/get2.mget/mset3.incr4.incrby5.setex6.setnx7.getset2.List常用命令1.lpush2.rpop3.llen4.lindex5.lrange6.rpush7.lpop8.brpop9.lrem3.Hash1.hset2.hget3.hgetall4.hdel5.hexists6.hincrby7.hmset8
- 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