- Rancher 与 Kubernetes(K8s)的关系
litGrey
rancherkubernetes容器
1.简介1.1Kubernetes作为容器编排平台Kubernetes是一个开源平台,用于自动化部署、扩展和管理容器化的应用。它提供了容器调度、自动伸缩、健康检查、滚动更新等功能。例子:假设您有一个微服务架构的应用程序,需要运行在多个节点上,并且要求自动伸缩以应对不同的负载。您可以使用Kubernetes来创建和管理这些容器化的服务。1.2.Rancher作为Kubernetes的管理工具Ranc
- 使用 OpenSSL 创建自签名证书
乐优刘@0724
nginx运维
mkdir-p/etc/nginx/conf.d/cert#2、创建私钥opensslgenrsa-des3-outhttps.key1024提示输入字符:输入字符:rancher[root@ocean-app-1a-01cert]#opensslgenrsa-des3-outhttps.key1024GeneratingRSAprivatekey,1024bitlongmodulus…+++++
- k8s学习(RKE+k8s+rancher2.x)成长系列之简配版环境搭建(三)
日复一日伐树的熊哥
kuberneteskubectlRKEdockerk8s
- (二)【Jmeter】专栏实战项目靶场drupal部署
WEL测试
JMeter接口测试实战指南jmeter自动化测试工具
该专栏后续实战示例,都以该篇部署的项目展开操作。前置条件参考“(一)【Jmeter】JDK及Jmeter的安装部署及简单配置”安装部署Jmeter,从文章最后下载“Postman、Rancher.ova、VirtualBox-7.0.12-159484-Win.exe、Xshell-7.0.0144p.exe、Xftp-7.0.0144p.exe”VirtualBox安装首先,双击“Virtual
- harbor v1.7.1镜像仓库无法访问,并提示502 Bad Gateway
jiang0615csdn
kubernetes服务运维日常工作kubernetes容器云原生
一、背景:在巡检rancher平台时发现有一个服务运行报错了,查看该服务容器事件时提示连接不到harbor镜像仓库。二、harbor镜像仓库访问问题分析过程:1、确认harbor仓库是否可以访问:发现无法访问时,第一时间是通过浏览器去访问harbor仓库是否能正常访问:http://harbor.jx.shu.com发现无法访问,然后登入到对应的harbor服务器上去查看harbor服务是否正常。
- rke2在线部署kubernetes
RKE2是RancherLabs推出的一款Kubernetes发行版,它是RancherKubernetesEngine(RKE)的下一代版本,专为生产环境设计,遵循CISKubernetes基准。这款产品的特点是易于安装,安全性高,同时包含了一些常见的插件,如网络插件和存储插件等。下面将讲解如何在线部署RKE2以搭建Kubernetes集群。首先,我们需要准备好服务器。在这个示例中,我们将使用三
- 【游戏推荐】《史莱姆牧场主》—“萌”即是正义(免费下载)
闰土我是猹啊_
《史莱姆牧场主》(SlimeRancher)是一款融合了动作,冒险,模拟的射击游戏。采用第一人称视角,结合了沙盒类模拟经营类玩法,整体卡通画风。游戏的主角就是萌死人不偿命的“史莱姆”啦。游戏的设定是人类在距地球一千光年以外发现了史莱姆星球。于是人类派出BeatrixLeBeau去史莱姆星球上进行探险。圈养各种五颜六色的史莱姆,需要去寻找食物喂养它们。利用史莱姆拉出的粑粑,换取金钱,不断扩展牧场的势
- 原博客站点搭建过程-基于Docker
天夭夭
本文章将记录本站的建立过程,不方便透露的信息将直接使用中文表示。准备工作:服务器:ECS、RDS各一台(选择阿里云原因:便宜、好用)、域名一枚基础环境:Linux(ECS_Centos7.2)+Nginx(Docker)+MySQL(RDS)+PHP(Docker)选择Docker的原因:1、简化配置;2、隔离应用(可部署多个站点);3、监控方便(基于Rancher);4、快速部署(在制作好镜像的
- Rancher 2.4正式发布!打造业界规模最大的云边协同集群
RancherLabs
Rancher2.4全新特性一览:边缘集群部署场景的延展性、零宕机升级集群、安全性增强以及全新的托管选项,为用户提供从数据中心到云端到边缘的海量Kubernetes集群一站式管理体验2020年4月1日,业界应用最为广泛的Kubernetes管理平台创建者RancherLabs(以下简称Rancher)宣布Rancher2.4正式GA,Kubernetes现已成为从数据中心到云端到边缘的通用计算平台
- rancher2.7.5部署kubernetesv1.26版本集群
运维潇哥
kubernetesrancher容器云原生linux
简介硬件服务器层面,目前三台机器搭建k8s服务,一台服务器用于存储,一台服务器用于rancher服务ip地址用途50.50.100.131k8s.master0150.50.100.132k8s.node0150.50.100.133k8s.node0250.50.100.134k8s.nfs50.50.100.135k8s.rancher软件版本层面,rancher服务版本v2.7.6,内核5.
- 新版Rancher 2.x中文文档出炉,最全面的使用指南来啦!
RancherLabs
官方文档是许多用户得以顺利上手使用Rancher的关键。为了给大家扫清Rancher落地之路上的障碍,在过去的两个月里Rancher中国的小伙伴们利用业余时间为Rancher用户重新翻译了Rancher2.x的中文文档。并且根据中国用户的使用习惯,采用了新的文档框架。之后,我们将保持每周与英文文档进行一次同步。经过第一轮技术校对后,目前版本为Beta版本。此后,我们会进一步对文档内容进行校对,争取
- K8S集群管理平台Rancher(1):基础入门
鹤冲天Pro
#Kuberneteskubernetesrancher运维
文章目录一、Rancher概述1.1什么是Rancher1.2RancherServer功能1.3Rancher架构设计1.4Rancher和下游集群交互1.5Rancher相关文件1.6Rancher创建的Kubernetes类型二、优点和不足2.1优点2.2不足一、Rancher概述1.1什么是RancherRancher是为使用容器的公司打造的容器管理平台。Rancher简化了使用Kuber
- Rancher主机介绍
qq_41490913
java
入门指南在Rancher中,主机是调度资源的基本单位(直观的理解就是所发生的操作最终都会落到某台主机上),它可以是虚拟的或者物理的Linux服务器。Rancher管理的主机需要满足以下的条件:任何可以运行支持的Docker版本的Linux发行版本,例如:RancherOS,Ubuntu,RHEL/CentOS7。不过针对RHEL/CentOS系列,有些需要注意的地方:Docker并不推荐使用RHE
- Debian11之Rancher2.7.x安装
大能嘚吧嘚
KubernetesLinux_Debiankubernetes运维
前言Rancher为采用容器的团队提供了完整的软件堆栈,解决了跨任何基础设施架构管理多个Kubernetes集群的运维和安全挑战,同时为DevOps团队提供了用于运行容器化工作负载的集成工具。总结起来就是用于管理和配置Kubernetes集群,通过RancherServer的UI与下游Kubernetes集群进行交互Rancher中国官网Rancher文档Rancher旗下的产品介绍通过RKE、K
- EKS集群使用helm安装rancher
干运维小白
rancher
一、安装helmcurlhttps://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3|bash二、安装rancher1.安装rancher命令【我安装默认安装最新版本,实际安装的是rancher:v2.7.9版本】#创建rancher使用的namespacekubectlcreatenamespacecattle-sys
- linux使用docker安装rancher
干运维小白
linuxdockerrancher
1.不使用证书命令直接启动rancherdockerrun--privileged--restart=always-d--namerancher-p90:80-p553:443rancher/rancher2.使用本地证书挂载到docker内部方式启动rancher服务dockerrun--privileged--restart=unless-stopped-v/home/ec2-user/con
- rancher的admin账号丢失找回
干运维小白
rancherjava开发语言
执行如下命令重新设置admin密码dockerexec-tif3cd62db0463reset-password【id就是启动容器的id】Newpasswordfordefaultadminuser(user-v7tww):Ozl28obcaogffgfh
- rancher迁移账号密码
干运维小白
rancher
1.登陆rancher容器获取user【docker部署和helm部署都一样,进到容器内都是同一路径】$kubectlgetuserNAMEAGEu-222ms82mu-4j5jf82mu-b4qkhsnliz139du-fvj6483mu-jn58d84mu-llw8l83mu-mo773yttt4139du-p5n9283mu-sp8hj83muser-95w4j139d2.编辑用户,直接把p
- k8s学习(RKE+k8s+rancher2.x)成长系列之简配版环境搭建(二)
日复一日伐树的熊哥
kubernetesRKErancherdockercentos
三、简配版集群,适用于demo环境1.集群架构设计主机名角色配置(核数,内存,磁盘)MasterRKE,controlplane,etcd,worker,rancher-master2C8G40GSlaver1controlplane,worker,rancher-master2C8G40GSlaver2controlplane,worker,rancher-master2C8G40G2.预期目标
- 修改 docker 部署 mysql 最大连接数(含 Rancher 部署)
鬼畜的稀饭
服务器运维Rancherdockermysql数据库java
1.原生docker启动方式在docker启动命令的最后添加变量--max-connections=1000dockerrun-d-p3306:3306--namemysql\-eMYSQL_ROOT_PASSWORD=xxx\mysql:5.7.38\--max-connections=10002.Rancher启动方式在工作负载配置的【命令(CMD)】中添加--max-connections=
- 记一次故障-Rancher界面突然无法访问,且K8s集群无法访问
Mright
公司使用docker单节点方式部署rancher,利用rancehr来操作k8s集群,有一天要访问rancherui时,发现打不开,然后部署的所有容器也都不能使用,立马到服务器上查看情况,发现rancher容器还在,然后尝试进入容器时,报了错cannotexecinastoppedstate:unknown,然后尝试查看rancher日志,发现可以查看E071215:47:03.7307526re
- 05.09——K8S—KubeSphere部署
RuiZhi_L
一、admin/rancher部署:1、admin:部署简单,使用复杂,因为控制器这些都是容器,后期修改复杂。证书有效期默认是1年,需要admin改源码。2、rancher:国内用的不多,可以使用kubesphere。弊端:使用复杂,APIServer等都是容器化安装,很多功能缺失,需要后期手动去配,装插件、打镜像等。二、KubeSphere:KubeSphere为用户提供轻量级安装程序KubeK
- 误删节点或集群怎么办?这里有一颗后悔药
RancherLabs
本文来自RancherLabs作者介绍王海龙,Rancher中国社区技术经理,负责Rancher中国技术社区的维护和运营。拥有6年的云计算领域经验,经历了OpenStack到Kubernetes的技术变革,无论底层操作系统Linux,还是虚拟化KVM或是Docker容器技术都有丰富的运维和实践经验。在实际使用Rancher过程中,偶尔会因为误操作删除了SystemWorkload、节点或集群,导致
- rancher证书过期问题处理
小生测试
racnher证书过期
问题起初,打开rancherui页面打不开,telnetrancher的服务端口也不通。查看rancher控制节点,日志显示,X509:certificatehasexpiredorisnotyevalid。证书已过期解决现在网上大部分的解决方案都是针对的2.2以及以下的版本,如果你按照网上那个教程尝试,会走很多弯路。首先,先确定你的rancher服务版本,可以通过dockerps看到你的ranc
- Docker工具系列 | 使用 Portainer 搭建 Docker (简单美观大方)的可视化界面工具
是龙台呀
简介:不知道大家有没有感觉在使用docker的过程中,敲打命令太过于频繁。今天向大家安利一款简单美观大方的可视化界面工具一、介绍Portainer是个轻量级的Docker管理面板,不同于Rancher,Portainer倾向于单机的管理,同时也支持多个单机节点切换着管理。在Docker搞出Swarm之后Portainer也借此实现了集群管理。废话少说,先上一张效果图看看。image给人一种眼前一亮
- 基于Kubernetes的微服务架构,你学会了吗?
胖头鱼不吃鱼-
架构kubernetes微服务
2017年,这一年在容器技术发展史上具有重要的分水岭意义,标志着“后微服务时代”的开始。这一年,发生了几件重大事件,彻底改变了容器管理领域的格局。首先是CoreOS,一直以来与Docker竞争的RKT容器技术的领头羊,宣布放弃其容器管理系统Fleet,转而支持Kubernetes。接着,容器管理行业的领头羊RancherLabs也放弃了自家多年开发的Cattle系统,采纳“All-in-Kuber
- 【Spring连载】使用Spring访问 Apache Kafka(十九)----Apache Kafka Streams支持
85程序员老王
springapachekafka
【Spring连载】使用Spring访问ApacheKafka(十九)----ApacheKafkaStreams支持一、基础Basics二、Spring管理三、KafkaStreamsMicrometer支持四、StreamsJSON序列化和反序列化五、使用Kafka流分支器KafkaStreamBrancher六、配置Configuration七、HeaderEnricher八、Messagi
- rancher操作指南
虎神大帝
dockerjenkinsk8s
jenkins镜像构建:构建后的镜像在harbor中进行管理:命名空间:在rancher中用命名空间来做隔离,如下图:部署服务:服务配置服务部署中,docker镜像,环境变量,数据卷的配置其中配置的映射文件在下图中添加:docker文件的拉取要配置凭证harbor用户管理用户凭证的配置在harbor中进行管理负载均衡配置jenkis构建镜像自动发布到rancher中这个工作负载api地址就是ran
- Rancher 在Ubuntu18.04下源码安装
Vivivivi安
参考以下三篇文章,感谢!https://www.jianshu.com/p/4eb2171c0b5fhttps://blog.csdn.net/shida_csdn/article/details/79456354https://blog.csdn.net/shida_csdn/article/details/79474486虚拟机内存开的大一点一.安装go卸载原本安装的gosudoapt-get
- rancher 安装 部署 k8s
方圆师兄
Kubernetesdocker容器kubernetes
1.下载Rancher1.1通过docker进行安装,首先需要下载个dockerDocker基础以及使用Docker发布SpringBoot项目#安装dockercurl-fsSLhttps://get.docker.com|bash-sdocker--mirrorAliyun1.2开始下载rancher镜像sudodockerrun--privileged-itd--restart=unless
- 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