- 使用Docker安装Spark集群(带有HDFS)
Sicilly_琬姗
云计算大数据dockersparkhdfs
本实验在CentOS7中完成第一部分:安装Docker这一部分是安装Docker,如果机器中已经安装过Docker,可以直接跳过[root@VM-48-22-centos~]#systemctlstopfirewalld[root@VM-48-22-centos~]#systemctldisablefirewalld[root@VM-48-22-centos~]#systemctlstatusfi
- 使用Docker部署Spark集群
小孩真笨
工程开发技术CloudDataDockerSpark
使用Docker部署Spark集群克隆包含启动脚本的git仓库启动Spark0.8.0集群并切换至SparkShell环境不带参数运行部署脚本*运行一些小的例子终止集群克隆包含启动脚本的git仓库*
[email protected]:amplab/docker-scripts.git当然,在这之前你必须已经配置了Github的SSH密钥认证,如果没有配置,会提示Per
- 从0开始使用Docker搭建Spark集群
吃鱼的羊
SPARKHadoop
https://www.jianshu.com/p/ee210190224f?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation最近在学习大数据技术,朋友叫我直接学习Spark,英雄不问出处,菜鸟不问对错,于是我就开始了Spark学习。为什么要在Docker上搭建Spark集群
- Budibase低代码平台体验
samson_www
企业系统IT技术low-code
低代码平台还是很多的,体验了Nocobase,又开始体验Budibase,其实Budibase和appsmith更相似一点。Budibase的安装也很简单。1.安装好操作系统Debian;2.安装好docker,docker-compose3.创建目录/data,在里面参考内容创建文件docker-compose.ymlversion:"3"services:budibase:restart:un
- Windows 字体导入到 Docker 指定容器
程序员老王wd
docker容器运维
以下是将Windows字体导入到Docker指定容器的详细操作步骤:1.准备工作确认字体文件:在Windows系统中,字体文件通常位于C:\Windows\Fonts目录下。你可以选择需要导入的字体文件,常见的字体文件格式有.ttf(TrueType字体)和.otf(OpenType字体)。确保Docker环境正常:要保证Docker已经正确安装并且正在运行,同时你知道目标容器的名称或ID。2.复
- DocHub 开源项目安装与使用教程
羿漪沁Halbert
DocHub开源项目安装与使用教程DocHubУправлениеархитектуройкаккодом项目地址:https://gitcode.com/gh_mirrors/doch/DocHub1.项目目录结构及介绍DocHub项目的目录结构如下:dochub/├──browserslistrc#浏览器兼容性配置文件├──dockerignore#Docker忽略文件├──editorcon
- 使用 Docker 部署 RabbitMQ 的详细指南
m0_74824552
面试学习路线阿里巴巴dockerrabbitmq容器
使用Docker部署RabbitMQ的详细指南在现代应用程序开发中,消息队列系统是不可或缺的一部分。RabbitMQ是一个流行的开源消息代理软件,它实现了高级消息队列协议(AMQP)。本文将详细介绍如何使用Docker部署RabbitMQ,并提供一些配置和管理的技巧。1.前期准备在开始之前,请确保您的系统上已经安装了Docker。如果尚未安装,可以参考Docker官方文档或我写的前面一篇文章Cen
- docker常用命令
慢一点会很快
网络与容器化云原生docker容器运维
sudodockercp1.pyh6:/test#把当前路径下的1.py复制进dockerh6的test目录之下sudodockerpullubuntu:20.04#将ubuntu:20.04docker镜像从仓库pull到本地dockerimages#查看本地镜像dockerrun-itd--nameh1ready2-h#运行容器ubuntu-test--命名的容器名字,ubuntu:20.04
- 银河麒麟系统V10(arm版)离线安装postgresql说明
爱T小毛驴
arm开发postgresql数据库
#银河麒麟系统#,#arm版操作系统)#随着2024年微软全球蓝屏丑闻的出现,系统安全越来越重要。目前很多企业开始尝试国产化操作系统上,本文介绍如何在国产化银河麒麟系统V10(arm)版上安装postgresql数据库,方便后续程序开发和环境部署。本资源使用的是arm版本的postgresql的docker镜像,能够在arm版国产化银河麒麟系统上进行安装。安装步骤如下:(1)导入镜像文件(找到po
- PHP语法入门完全指南(2024新版)
生信天地
php开发语言
一、开发环境搭建1.1快速启动方案本地环境:安装XAMPP(含Apache+PHP+MySQL)在线沙盒:使用PHPSandboxDocker方案(推荐):dockerrun-it-p80:80-v$(pwd):/var/www/htmlphp:8.2-apache1.2第一个PHP程序▶️运行方式:浏览器访问http://localhost/01_hello.php二、基础语法核心2.1变量与常
- Docker-Compose 详解
虾丸而已
docker容器运维
docker-compose官网下载下载后使用mv/usr/local/bin/docker-compose更改名称传入命令目录,然后chown+x/usr/local/bin/docker-compose加上执行权限一.docker-compose基本概念服务(Service):在DockerCompose中,一个服务定义了容器在生产环境中的行为。一个服务可以是一个单独的容器,也可以是多个容器的
- Docker-快速入门
学习两年半的Javaer
dockerdocker容器
1.部署MySQL首先,我们利用Docker来安装一个MySQL软件,大家可以对比一下之前传统的安装方式,看看哪个效率更高一些。如果是利用传统方式部署MySQL,大概的步骤有:搜索并下载MySQL安装包上传至Linux环境编译和配置环境安装而使用Docker安装,仅仅需要一步即可,在命令行输入下面的命令(建议采用CV大法):dockerrun-d\--namemysql\-p3306:3306\-
- 脉冲云在线指定Dockerfile文件--如何编写Dockerfile文件
l521_lei
脉冲云Docker脉冲云DockerDockerfileDocker镜像
如何编写Dockerfile文件[脉冲云](https://maichong.io)编译构建步骤中,在[编译镜像](http://maichong.io)时,需要指定Dockerfile文件,大家可以参考下面的内容,来写适合自己的Dockerfile文件。首先我们先编写.dockerignore文件来忽略一下文件编写.dockerignore文件构建镜像时,Docker需要先准备context,将
- DockerFile实战测试
johnmand
centoslinux运维
创建一个自己的centos1.编写dockerfile的文件[root@localhostdockerfile]#catmydockerfileFROMcentosMAINTAINERgaoleENVMYPATH/usr/localWORKDIR$MYPATH#一开始的时候这里写错了,没有写$,所有进去以后到了/MYPATH的路径RUNyum-yinstallvimRUNyum-yinstalln
- 部署私有KMS服务器,并设置自动激活Windows和office
网工格物
服务器windows运维
介绍vlmcsd是一个KMS激活服务器的模拟器,可以在WindowsServer之外的平台上部署自己的KMS服务器。它是一个开源项目,由Wind4开发,目前在Linux上运行(包括Android、FreeBSD、Solaris、Minix、MacOS、iOS和Windows等)Docker镜像地址:https://hub.docker.com/r/mogeko/vlmcsd此程序的单独地址:htt
- docker 修改配置文件导致无法启动mysql容器解决方案
yueF_L
dockerdockermysql数据库
其实就是找到配置文件的位置然后修改即可。dockerinspect[mysqlid]找到"MergedDir"目录cd/var/lib/docker/overlay2/a10d73731705621619faf0855f2f3329d0b1ac6032142ad44116dd0d251c4be7cddiffcdetc/mysql/mysql.conf.d/dockerstart容器ID
- docker 修改配置
李多田
docker容器运维javakubernetes
Docker的配置文件通常存储在/etc/docker/目录下,主要文件是daemon.json。要修改Docker配置,您可以编辑该文件,然后重新启动Docker服务以使配置生效。以下是修改Docker配置的简单步骤:打开终端,并使用sudo运行以下命令以编辑配置文件:sudonano/etc/docker/daemon.json
- 人工智障的软件开发-自动流水线CI/CD篇-docker+jenkins部署之道
Yuanymoon
人工智障2077系列devopsjenkinsci/cddockerjenkinsai
指令接收:「需要自动构建系统」系统检测:目标开发一个软件已完成代码仓库-轻盈的gitea,开始添加自动流水线启动应急冷却协议:准备承受Java系应用的资源冲击核心组件锁定:构建老将军Jenkins(虽然年迈但依然能战)需求分析:论碳基生物的认知进化人类需求翻译矩阵表层需求:“写一个软件”实际需求:“写代码并自动完成测试/打包/部署的流水线,最后自动部署一个系统哟”隐藏需求:“想要偷懒又不想承认的自
- 记录修改Docker容器中Mysql配置后重启失败问题
-Juan-
dockermysql容器
问题:修改安装在docker中的Mysql的my.cnf配置文件后,重启容器失败解决方案:将需要修改的配置参数添加在运行容器时的命令上,例如需要添加lower_case_table_names=1和character-set-server=utf8,在命令末尾添加该参数(每个参数前都需添加两个-)dockerrun-p3306:3306--namemysql-name-eMYSQL_ROOT_PA
- Docker 与持续集成 / 持续部署(CI/CD)的集成(二)
计算机毕设定制辅导-无忧学长
#Dockerdockerci/cd容器
五、代码示例与解释(一)Dockerfile示例以下是一个简单的基于PythonFlask应用的Dockerfile示例:#使用Python3.10-slim作为基础镜像FROMpython:3.10-slim#设置工作目录WORKDIR/app#复制项目文件到容器内的工作目录COPY./app#安装项目依赖RUNpipinstall-rrequirements.txt#暴露应用运行的端口EXPO
- Redis压力测试
破 风
redisredis
首先我们进入到redis里面去:dockerexec-itredis/bin/bash压力测试命令:redis-benchmark-h127.0.0.1-p6379-c100-n100000性能SET分析:上面只是简单的GET请求压力测试数据分析,包括set看法和上面同理。压力测试命令讲解:-h主机-p端口-c并发连接数-n请求数-s指定服务器socket
- Linux Docker 部署 Elasticsearch (ES) 集群详解教程
努力的小T
Linux云计算运维基础dockerlinuxdockerelasticsearch运维服务器云计算大数据
1.安装Docker首先,确保你的Linux系统上已经安装了Docker。如果尚未安装,可以通过以下命令进行安装:sudoyuminstall-yyum-utilssudoyum-config-manager--add-repohttps://download.docker.com/linux/centos/docker-ce.reposudoyuminstalldocker-cedocker-c
- DeepSeek+Dify 轻松搞定从 0 到 1 搭建专属本地知识库
LCG元
大模型人工智能
目录**1.安装和配置Ollama****1.1跨平台安装指南****验证安装****1.2部署DeepSeek模型****下载模型****加载模型****验证模型功能****2.安装和配置Dify****2.1安装Docker****2.2安装Dify****克隆源码****启动容器****配置环境变量****3.构建和部署本地知识库****3.1创建知识库****上传文档****管理内容***
- springboot + logback + filebeat + elk 实现分布式日志中心
imalvisc
javaspringlinux运维
前言:本文主要介绍docker搭建elk分布式日志平台,利用filebeat监听logback日志文件,传输到elk中,最终在kibana渲染展示。主要思路:filebeat监听日志文件的变化,传输到logstash,logstash通过分析提取,将日志信息推送到elasticsearch指定索引中,最终kibana从elasticsearch索引中查询并展示日志信息。一、docker搭建elk日
- ubuntu安装k8s
qq_41369135
ubuntukuberneteslinux
centos:centos:K8Sv1.28.2集群搭建-docker版-一毛丶丶-博客园centos:Kubernetes详细安装教程_kubernetes安装-CSDN博客准备工作:1、主机名解析:确保每台机器的主机名能够被解析(可以通过/etc/hosts或DNS)。#三台机子分别执行sudohostnamectlset-hostnamek8s-mastersudohostnamectlse
- Ollama容器+打造DeepSeek-R1-7B大模型
码哝小鱼
AI大模型docker运维语言模型
1、获取Ollama官方镜像1.1在线拉取镜像#dokcerpullollama/ollama:0.5.71.2导入离线镜像#tar-zxfollama0.5.7_x86.tar.gz#dokcerload-iollama0.5.7.tar2、执行以下命令创建与启动ollama#dockerrun-dp8880:11434--nameollama\-eOLLAMA_HOST=0.0.0.0:114
- 006-Docker 镜像加速
小宝哥Code
Dockerdocker容器运维
在中国,由于网络限制,DockerHub的镜像拉取速度可能会非常慢。为了解决这个问题,可以通过配置Docker使用国内镜像加速器来提高镜像下载速度。1.使用国内镜像加速器以下是一些常用的Docker镜像加速器,你可以根据自己的需求选择使用:阿里云镜像加速器:https://.mirror.aliyuncs.com网易云镜像加速器:https://hub-mirror.c.163.comDaoClo
- 【python学习】深度解析 Python 的 .env配置与最佳实践:温格高的环境变量配置之道
NLP仙人
pythonpython学习开发语言人工智能
1.文章简介在开发和部署Python项目时,环境变量配置对于管理敏感信息如数据库连接字符串、API密钥至关重要。本文将以温格高(2023年环法冠军)的项目为例,详细介绍如何通过.env文件简化环境配置,并分享多环境管理、Docker集成等热门功能。我们还将覆盖一些小技巧和常见错误,帮助你避免开发中的踩坑。2.使用.env文件的好处温格高团队正在开发一个记录自行车赛事的应用,涉及多个开发环境和敏感信
- Flink 安装阿里云docker compose部署及相关组件
vellerzheng
部署运维flinkdocker大数据
Flink安装脚本文件version:"2.2"services:jobmanager:image:flink:1.15.2-java11expose:-"6123"ports:-"8081:8081"command:jobmanagervolumes:-/home:/homeenvironment:-JOB_MANAGER_RPC_ADDRESS=jobmanagerprivileged:tru
- docker compose部署zookeeper集群
现实、太残忍
dockerdockerzookeeper容器
networks:net:name:netservices:zookeeper1:image:zookeeper:3.7.0restart:alwayscontainer_name:zookeeper1hostname:zookeeper1privileged:trueports:-'2181:2181'environment:ZOO_MY_ID:1ZOO_SERVERS:server.1=zoo
- 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