- [Android开发] 工具篇--Docker使用
z4a1c2
Android开发实战docker
Docker介绍Docker是一种容器工具,是一种轻量化的虚拟技术,可以支持高效便捷地创建和使用Linux容器,同时可以让开发者以便捷方式打包应用到一个可移植的容器中,然后安装至任何运行Linux或Windows等系统的服务器上。官网:https://www.docker.com/Docker基本概念Docker中有非常重要的三个基本概念:镜像(Image)、容器(Container)和仓库(Re
- Calibre-Web Docker部署
m0_74823611
前端docker容器
经测试,pdf支持在线阅读,也就是网页打开,而且也可以记住阅读进度,doc文档不可以在线阅读,只有下载功能,其他暂未测试。!!!请注意,阅读进度是保存在浏览器缓存的,也就是说换一个浏览器或者换一个设备,就无法同步了。目前几个比较多人用的类似的电子书架,几乎都基于Calibre改的,因此几乎都不支持跨设备同步阅读进度,若要同步,一般是基于WebDev实现。一.Calibre-Web是什么Calibr
- 容器——Cgroup简介
爱吃芝麻汤圆
#容器Linuxlinux容器docker
文章目录Cgroup简介Cgroup核心概念Cgroup(ControlGroup)定义核心功能特点Cgroup树(Hierarchy)定义特点作用Subsystem(子系统)定义常见子系统特点查看子系统挂载(Mount)定义特点示例作用Cgroup文件定义常见文件作用Cgroup核心交互逻辑hierarchy(层级结构)与subsystem(子系统)的关系hierarchy与进程(task)的关
- python中的JSON数据格式
小码农0912
pythonjsonJSON数据格式
文章目录什么是json主要功能Python数据和Json数据的相互转化什么是jsonJSON是一种轻量级的数据交互格式。可以按照JSON指定的格式去组织和封装数据。JSON本质上是一个带有特定格式的字符串。主要功能json就是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互。各种编程语言存储数据的容器不尽相同在Python中有字典dict这样的数据类型,而其它语言可能没有对应
- Python基础知识点全面总结
jay丿
pythonwindows开发语言
Python基础知识点全面总结Python作为一种简洁、易读且功能强大的编程语言,已经成为编程学习和应用领域中的热门选择。本文将对Python的基础部分进行全面总结,涵盖数据类型、条件判断、循环、函数、数据结构等重要知识点,并附上相关代码示例。一、数据类型Python中的数据类型主要分为五大类:数值、布尔、字符串、容器、None。数值类型整型(int):在Python3中,int表示长整型,没有l
- docker安装Open WebUI详解-遇到的坑OSError: We couldn‘t connect to ‘https://huggingface.co‘ to load this file
坚定信念,勇往无前
AIdocker容器运维
一、OpenWebUI简介OpenWebUI(https://openwebui.com)是一个用户友好的Web界面,专为本地大语言模型(LLMs)设计。它支持多种模型,包括Ollama和OpenAI兼容的API,并允许用户通过图形界面轻松调试和调用模型。OpenWebUI的功能丰富,包括代码高亮、数学公式支持、网页浏览、预设提示词、本地RAG集成、对话标记、模型下载、聊天记录查看以及语音支持等。
- C++ 顺序容器--vector容器详解
学游戏开发的
C++c++笔记
元素保存在连续的内存空间中。插入元素或者删除元素通常需要线性时间,当这些操作在尾部执行时,实际运行时间为摊还常量时间。随机访问某个元素的复杂度为常量时间。1vector概述vector在头文件中被定义为一个带有2个类型参数的类模板:一个参数为要保存的元素类型,另一个参数为分配器(allocator)类型。template> class vector;Allocator参数指定了内存分配器对象的类型
- MongoDB 查询文档
wjs2024
开发语言
MongoDB查询文档引言MongoDB是一款流行的开源NoSQL数据库,以其灵活的数据模型和强大的查询功能而闻名。本文将深入探讨MongoDB的查询文档,包括其基本概念、常用查询操作以及高级查询技巧。MongoDB查询基础数据模型MongoDB使用文档模型来存储数据。每个文档都是一个键值对集合,类似于JSON对象。文档存储在集合(Collection)中,集合是数据库中的容器。查询操作符Mong
- Dify修改nginx访问端口
m0_74824002
面试学习路线阿里巴巴nginxeureka运维
修改配置文件#进入到dify文件夹下cd/dify/dockervi.env#找到EXPOSE_NGINX_PORT在780行,改成你需要的端口默认是80ps:#------------------------------#DockerComposeServiceExposeHostPortConfigurations#------------------------------EXPOSE_NG
- Docker部署 MongoDB及常用命令
KawYang
dockermongodb
docker部署dockerrun-d\--namemongo\-eMONGO_INITDB_ROOT_USERNAME=root\-eMONGO_INITDB_ROOT_PASSWORD=123456\-p27017:27017\-v./local-mongo-data:/data/db\mongo:latest或者编写docker-compose.yaml文件。如下:version:'3.1'
- windows下安装Open Web UI
醒醒a
python
windows下安装openwebui有三种方式,docker,python+node.js,整合包.这里我选择的是第二种,非docker.非Docker方式安装1.安装Python:下载并安装Python3.11,建议安装路径中不要包含中文字符,并勾选“Addpython3.11toPath”选项。安装完成后,在命令提示符中输入python,若显示Python版本信息则表示安装成功。2.安装No
- 如何在docker中访问宿主机其他服务的接口
2401_89793006
热门话题docker容器运维
1.使用host.docker.internal(推荐)适用场景:DockerDesktop(Windows和macOS)或DockerEngine18.03+(Linux)。原理:Docker提供了一个特殊的主机名host.docker.internal,指向宿主机。使用方法:在容器中访问宿主机服务时,使用host.docker.internal代替localhost或127.0.0.1。例如,
- docker常用命令
舌尖上的五香
docker
删除none镜像dockerrmi$(dockerimages-f“dangling=true”-q)
- docker-compose 搭建redis集群(三台服务器,每台服务器上一主一从)
黑尾土拨鼠
redisdockerdockerredis服务器docker-compose
文章目录1、前言2、准备工作2.1、Docker安装2.2、docker-compose安装2.3目录创建3、redis配置文件3.1生成redis.conf文件3.2shell文件无法执行问题解决3.3docker-compose.yml文件编写4、启动集群及初始化4.1启动Redis集群4.2Redis集群初始化5、总结1、前言 使用DockerCompose搭建Redis集群是一种便捷高效
- Docker Desktop 入门教学
优人ovo
docker容器运维
引言DockerDesktop是Docker官方为开发者提供的桌面应用程序,支持在Windows和macOS上轻松构建、运行和共享容器化应用程序。它集成了Docker引擎、DockerCLI客户端以及DockerCompose等工具,方便您在本地开发和测试。一、快速安装1.系统要求Windows:Windows1064位:专业版、企业版、教育版或2004及更高版本的家庭版。Windows1164位
- prometheus+grafana 容器部署方式
背景新增两台物理机用于压测,为了查看资源使用情况,需要对服务器进行监控,所以安装prometheus+grafana来监控服务。准备机器:机器1机器2192.168.1.103192.168.1.102mock服务,压测脚本业务服务prometheus+grafana+node-exporter+cadvisornode-exporter+cadvisor说明:cadvisor:用于收集容器的信息
- Spring 依赖注入
阿豆学编程
springJavaspringjava
Spring中的依赖注入(DI,DependencyInjection)是Spring框架的核心功能之一,它通过将对象的依赖关系交由Spring容器来管理,从而实现了类与类之间的解耦。通过依赖注入,开发者无需自己创建和管理依赖对象,Spring容器会自动将它们注入到相应的Bean中。依赖注入的核心概念依赖注入的基本思想是将类所依赖的对象的创建、管理交给Spring容器,而不是由类本身来创建。这种方
- SpringMVC-注解配置
zl979899
SSMjavaspring
代替web.xml在Servlet3.0环境中,容器会在类路径中查找实现javax.servlet.ServletContainerInitializer接口的类,如果找到的话就用它来配置Servlet容器,这个类反过来又会查找实现WebApplicationInitializer的类并将配置的任务交给它们来完成Spring3.2引入了一个便利的WebApplicationInitializer基
- 当Docker网络抽风时,如何优雅地摔键盘(并悄悄修好它)
以琦琦为中心
docker网络容器
title:“️当Docker网络抽风时,如何优雅地摔键盘(并悄悄修好它)”author:“Cjs”date:“2025-2-23”当你的容器们开始玩"失联游戏"时…ERROR:Couldnotconnecttodatabase容器A:"嘿兄弟你在哪?"容器B:"我在192.168.9.2啊!"宿主机:"你们说的这个ip...我根本不认识啊!"经典崩溃现场:容器间突然开始"量子通信"(时通时不通)
- Docker镜像拉取马拉松:从『Timeout绝望』到极速狂飙的救赎
以琦琦为中心
docker容器运维
title:“Docker镜像拉取马拉松:从『Timeout绝望』到极速狂飙的救赎”author:“Cjs”date:“2025-2-23”emoji:“⏳”当你发现Docker镜像下载速度堪比树懒时…docker-composeup-d[+]Running0/5⠿compreface-postgres-dbError15.2sError:net/http:requestcanceledwhile
- Docker内存芭蕾:优雅调整容器内存的极限艺术
以琦琦为中心
docker容器运维
title:“Docker内存芭蕾:优雅调整容器内存的极限艺术”author:“Cjs”date:“2025-2-23”emoji:“”当你的容器变成内存吸血鬼时…完美内存编排示范智能内存管家脚本#!/bin/bash#memory_balancer_v3.sh#定义容器列表和对应的内存分配比例(总可用内存的百分比)containers=("container-1""container-2""co
- 使用exec模式与shell模式,执行ENTRYPOINT和CMD的区别
yyytucj
运维
在Docker容器的世界里,ENTRYPOINT与CMD指令负责启动容器时运行的默认程序及传递给该程序的默认参数。它们的行为差异,尤其是结合exec与shell两种执行模式时,为容器的启动过程增添了灵活性与可控性。下面将详细探讨这两种模式下,ENTRYPOINT与CMD的不同表现形式及其影响。执行模式概览Shell模式:默认模式,会在/bin/sh中执行命令,允许使用shell特性如管道、重定向等
- Tomcat体系架构第一篇
gaochaojin
TomcatJavaTomcat
一、Tomcat的定义Tomcat是一款开源轻量级Web应用服务器,是一款优秀的Servlet容器实现。Servlet是JavaServlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互地浏览和生成数据,生成动态Web内容。Servlet严格来讲是指Java语言实现的一个接口,一般情况下我们说的Servlet是指实现了这个Servl
- 在 Ubuntu 上安装 Docker 的完整指南
花千树-010
Dockerubuntudockerlinux
在Ubuntu上安装Docker的完整指南Docker是一个开源的平台,可以轻松创建、部署和运行应用程序在容器中。容器允许开发者将应用程序及其所有依赖项打包到一个标准化单元中,从而确保应用在任何环境中都可以一致运行。本文将详细介绍如何在Ubuntu上安装Docker。前提条件在开始之前,请确保您的系统满足以下条件:Ubuntu版本:16.04、18.04、20.04或更高版本用户具有sudo权限安
- Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试
一歲抬頭
《Linux系统开发入门定制》linuxdockerubuntu
前言在本博客中,实践如何在Rockchip3568设备上通过Ubuntu22.04系统安装和运行Docker。我会比较DockerCE和Docker.io两种版本的安装过程、兼容性以及在特定硬件上的表现,为兄弟们提供一个清晰的安装指南和实用的运行笔记。参考Linux(31)RockchipRK3568Ubuntu22.04上部署Docker:问题与解决方案Linux下搭建RK3568Docker开
- RocketMq学习笔记
花开不识君
java中间件rocketmq
RocketMq学习笔记本文记录作者基于RocketMq4.9x版本对RocketMq部分功能特性的学习,并尝试从源码角度分析其实现原理。相关文章RocketMq5.0proxy的引入:https://juejin.cn/post/7293788137662758946RocketMqDocker集群搭建:https://www.cnblogs.com/xiao987334176/p/167718
- docker中常用的命令
moxiaoran5753
docker容器
一、服务命令systemctlstartdocker.service启动docker服务systemctlstopdocker.service关闭docker服务systemctlenabledocker.service设置docker服务开机启动systemctldisabledocker.service.禁止docker服务开机自启动二、镜像命令dockerimages列出本地所有的镜像doc
- Docker部署Django(三)docker-compose编排Django+Uwsgi+Nginx+MySQL
诸葛钢铁云
Docker
写在前面实际的生产环境中,我们往往需要定义数量庞大的docker容器,并且容器之间具有错综复杂的依赖联系,一个一个去手动创建容器并记录和配置这些复杂的容器关系,不仅效率低下而且容易出错,所以迫切需要一种定义容器集群编排和部署的工具,这就是docker-compose什么是docker-compose及docker-compose工具的安装Docker-compose是一个用来定义和运行复杂应用的D
- 无需环境,直接用 Docker 来启动你的 Python 项目
洪峰科技
python
大家好我是洪峰想象这样一种场景,你写好了代码,准备部署在新的服务器上,这台服务器只有Python2和Python3.6,没有你代码适配好的Python3.12,那怎么办?1、编译安装Python,我不推荐这种方法,安装过程中,各种缺失的依赖绝对让你抓狂,如果你就是要用这种方法,可以参考这篇避坑-编译安装Python时遇到无法构建SSL。2、docker或dockercompose,我强烈推荐这种方
- 利用flex来布局顶部菜单栏
学习做游戏中
css3flex
安装vscode插件csspeek:快速定位到css定义的位置微软的livepreview替换liveserver因为这个好像不支持utf8前置css知识span标签是一个行内容器,用于标记文本的一部分,或文档的一部分。它与div非常相似,但div是块级元素,而span是行内元素。p段落标签,可设置line-height属性text-align设置块元素或者单元格框的行内内容的水平对齐。这意味着其
- 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