- Flink中的SQL Client和SQL Gateway
BigDataMLApplication
flinkflinksqlgateway
Flink中的SQLClient和SQLGateway对比目录定义基本原理适用场景主要区别常用运维命令示例官方链接正文1.定义SQLClient:FlinkSQLClient是一种用于提交和执行FlinkSQL语句的命令行界面或图形界面工具。SQLGateway:FlinkSQLGateway是一个独立的服务,它允许客户端通过RESTfulAPI将SQL查询提交到Flink集群。2.基本原理SQL
- Azkaban各种类型的Job编写
__元昊__
一、概述原生的Azkaban支持的plugin类型有以下这些:command:Linuxshell命令行任务gobblin:通用数据采集工具hadoopJava:运行hadoopMR任务java:原生java任务hive:支持执行hiveSQLpig:pig脚本任务spark:spark任务hdfsToTeradata:把数据从hdfs导入TeradatateradataToHdfs:把数据从Te
- Linux(centos7)部署hive
灯下夜无眠
Linuxlinuxhive运维dbeaverhive客户端
前提环境:已部署完hadoop(HDFS、MapReduce、YARN)1、安装元数据服务MySQL切换root用户#更新密钥rpm--importhttps://repo.mysql.com/RPM-GPG-KEY-mysqL-2022#安装Mysqlyum库rpm-Uvhhttp://repo.mysql.com//mysql57-community-release-el7-7.noarch.
- Flink算子通用状态应用测试样例
公子乂
flinkjavaservlet
Flink算子通用状态应用测试样例1.获取Flink执行环境finalStreamExecutionEnvironmentenv=StreamExecutionEnvironment.getExecutionEnvironment();env.setParallelism(1);2.创建数据源,生成随机数据DataStream>source=env.addSource(newSourceFunct
- 关于HDP的20道高级运维面试题
编织幻境的妖
运维
1.描述HDP的主要组件及其作用。HDP(HortonworksDataPlatform)的主要组件包括Hadoop框架、HDFS、MapReduce、YARN以及Hadoop生态系统中的其他关键工具,如Spark、Flink、Hive、HBase等。以下是对这些组件及其作用的具体描述:Hadoop框架:Hadoop是一个开源的分布式计算框架,用Java语言编写,用于存储和处理大规模数据集。它广义
- 【Hadoop】使用Scala与Spark连接ClickHouse进行数据处理
音乐学家方大刚
ScalaHadoophadoopscalaspark
风不懂不懂得叶的梦月不听不听闻窗里琴声意难穷水不见不曾见绿消红霜不知不知晓将别人怎道珍重落叶有风才敢做一个会飞的梦孤窗有月才敢登高在夜里从容桃花有水才怕身是客身是客此景不能久TieYann(铁阳)、薄彩生《不知晓》在大数据分析和处理领域,ApacheSpark是一个广泛使用的高性能、通用的计算框架,而ClickHouse作为一个高性能的列式数据库,特别适合在线分析处理(OLAP)。结合Scala语
- hadoop配置免密登录
我干开发那十年
ssh服务器linux
1.生成密钥ssh-keygen-trsa所有节点都要执行2.所有节点执行ssh-copy-id-i~/.ssh/id_rsa.pub用户名1@主机名1ssh-copy-id-i~/.ssh/id_rsa.pub用户名2@主机名2ssh-copy-id-i~/.ssh/id_rsa.pub用户名3@主机名33.目录授权chmod700~/.sshchmod600~/.ssh/authorized_
- Flink 面试题总结及答案
wending-Y
Flink入门到实践flink大数据
基础state的分类keystate和operatestatestate的重分布Flink状态管理详解:KeyedState和OperatorListState深度解析-掘金checkpoint和savepointhttps://zhuanlan.zhihu.com/p/79526638flinkjob的容错策略如果在没有持续消息输出的情况下,如何定时输出主要是现实有可能不会一直有消息输入,但是要
- Flink 批作业 消费kafka
wending-Y
Flink入门到实践flinkkafka大数据
文章目录示例代码原理总是kafka数据源可以是有界数据源,也可以是无界数据源示例代码publicstaticvoidmain(String[]args){StreamExecutionEnvironmentenv=StreamExecutionEnvironment.getExecutionEnvironment();env.setParallelism
- Flink源码-6-JobMaster 启动任务
wending-Y
Flink入门到实践flink
JobMasterjobmaster负责执行整个任务入口类org.apache.flink.runtime.jobmaster.JobMasterpublicCompletableFuturestart(finalJobMasterIdnewJobMasterId)throwsException{//makesurewereceiveRPCandasynccallsstart();returnca
- 【大数据面试题】014 Flink CDC 用过吗,请简要描述
Jiweilai1
一天一道面试题flink大数据面试flinkcdc
一步一个脚印,一天一道面试题。FlinkCDC的诞生背景FlinkCDC的全称是ChangeDataCapture(变更数据捕获)每一项技术的诞生都是为了解决某个问题,某个痛点。而FlinkCDC的诞生就是为了解决在读取,监控MySQL这样的数据库时,不会因为读取数据库,对数据库本身造成压力,影响性能。同时,保证了数据源的准确,正确。FlinkCDC原理方式一:通过查询来获取更新的数据。如查询数据
- 【笔记】HDFS基础笔记
哇咔咔哇咔
Hadoophdfs笔记hadoop大数据ubuntu
启动hadoop命令(未配环境变量):进入hadoop安装目录输入./sbin/start-dfs.sh已配环境变量:start-dfs.sh关闭hadoop命令:stop-dfs.sh启动完成后,可以通过命令jps来判断是否成功启动,若成功启动则会列出如下进程:"NameNode"、"DataNode"和"SecondaryNameNode"三种Shell命令方式:1.hadoopfs2.had
- 【笔记】Linux常用命令
哇咔咔哇咔
Linux笔记linux运维ubuntu
命令含义cd/home/hadoop#把/home/hadoop设置为当前目录cd..#返回上一级目录cd~#进入到当前Linux系统登录用户的主目录(或主文件夹)。在Linux系统中,~代表的是用户的主文件夹,即“/home/用户名”这个目录,如果当前登录用户名为hadoop,则~就代表“/home/hadoop/”这个目录ls#查看当前目录中的文件ls-l#查看文件和目录的权限信息touch文
- pyflink1.18.0 报错 TypeError: cannot pickle ‘_thread.lock‘ object
Thomas2143
总结pyflink
完整报错Traceback(mostrecentcalllast):File"/Users//1.py",line851,inds1=my_datastream.key_by(lambdax:x[0]).process(MyProcessFunction())#返回元组即:f0f1f2三列File"/Users/thomas990p/bigdataSoft/minicondaarm/minicon
- 【Flink SQL】Flink SQL 基础概念(五):SQL 时区问题
G皮T
#FlinkSQLflinksql大数据时区TIMESTAMP_LTZTIMESTAMP
《FlinkSQL基础概念》系列,共包含以下5篇文章:FlinkSQL基础概念(一):SQL&Table运行环境、基本概念及常用APIFlinkSQL基础概念(二):数据类型FlinkSQL基础概念(三):SQL动态表&连续查询FlinkSQL基础概念(四):SQL的时间属性FlinkSQL基础概念(五):SQL时区问题如果您觉得这篇文章有用✔️的话,请给博主一个一键三连吧(点赞、关注、收藏)!!
- 【大数据】Flink SQL 语法篇(五):Regular Join、Interval Join
G皮T
#FlinkSQL大数据flinksqlRegularJoinIntervalJoin双流Join
《FlinkSQL语法篇》系列,共包含以下10篇文章:FlinkSQL语法篇(一):CREATEFlinkSQL语法篇(二):WITH、SELECT&WHERE、SELECTDISTINCTFlinkSQL语法篇(三):窗口聚合(TUMBLE、HOP、SESSION、CUMULATE)FlinkSQL语法篇(四):Group聚合、Over聚合FlinkSQL语法篇(五):RegularJoin、I
- 大数据开发(Kafka面试真题-卷一)
Key-Key
大数据kafka面试
大数据开发(Kafka面试真题)1、请解释以下ApacheKafka是什么?它在大数据系统中的角色是什么?2、请解释以下Kafka的工作原理和它与传统消息队列服务的不同之处?3、解释以下ApacheKafka的作用以及它与常见消息队列系统(如RabbitMQ)之间的区别?4、如何使用ApacheKafka来实现实时数据流处理?5、Flinkcheckpoint和Kafkaoffset的关联是什么?
- linux安装单机版spark3.5.0
爱上雪茄
大数据JAVA知识spark大数据分布式
一、spark介绍是一种通用的大数据计算框架,正如传统大数据技术Hadoop的MapReduce、Hive引擎,以及Storm流式实时计算引擎等.Spark主要用于大数据的计算二、spark下载spark3.5.0三、spark环境变量配置exportJAVA_HOME=/usr/local/jdk1.8.0_391exportJRE_HOME=/usr/local/jdk1.8.0_391/jr
- flink: 自定义表函数的用法
amadeus_liu2
flinkflinkpython大数据
packagecn.edu.tju.demo3;importorg.apache.flink.api.common.functions.MapFunction;importorg.apache.flink.api.java.tuple.Tuple2;importorg.apache.flink.streaming.api.datastream.DataStream;importorg.apache
- flink:自定义函数的简单用法
amadeus_liu2
flinkflink大数据
packagecn.edu.tju.demo3;importorg.apache.flink.api.common.functions.MapFunction;importorg.apache.flink.streaming.api.datastream.DataStream;importorg.apache.flink.streaming.api.datastream.SingleOutputS
- flink状态后端和检查点的关系
后季暖
flink大数据
在ApacheFlink中,检查点(Checkpoints)和状态后端(StateBackend)是两个核心概念,它们之间有着紧密的联系。为了更好地理解这种联系,我们首先需要分别了解这两个概念。检查点(Checkpoints):检查点是Flink用来实现容错和状态一致性的机制。当Flink应用程序运行时,它会定期地创建检查点,这些检查点包含了当前任务的状态信息。如果某个任务失败,Flink可以利用
- Hadoop简介
程序员小郭同学
hadoop
简介大数据简介概述大数据的说法从出现到现在,也经历了十多年时间的发展。而在这十几年的发展过程中,非常多的机构、组织都试图对大数据做出过定义,例如:研究机构Gartner给出了这样的定义:"大数据"是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。再例如根据维基百科的定义,大数据是指无法在可承受的时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。
- Flink异步io关联Hbase
//承续缘_纪录片
#Flinkflinkhbase大数据
主程序publicstaticvoidmain(String[]args)throwsException{//1.获取流执行环境StreamExecutionEnvironmentenv=StreamExecutionEnvironment.getExecutionEnvironment();env.setParallelism(1);SimpleDateFormatformatter=newSi
- Hive中的NVL函数与COALESCE函数
独影月下酌酒
Hadoop大数据hivehadoop数据仓库
1.NVL函数1.1函数语法--nvl(value,default_value)-ReturnsdefaultvalueifvalueisnullelsereturnsvalueExample:>SELECTnvl(null,'bla')FROMsrcLIMIT1;blaFunctionclass:org.apache.hadoop.hive.ql.udf.generic.GenericUDFNv
- hive库表占用空间大小的命令
刀鋒偏冷
hivehadoop数据仓库
1、查每个hive表占用的空间大小hdfsdfs-du-h/user/hive/warehouse2、按占用空间大小降序排列hdfsdfs-du/user/hive/warehouse/ipms.db|sort-nr3、查某一个分区占用空间大小(单位G)hadoopfs-ls/user/hive/warehouse/ipms.db/dw_ft_se_nt_u_gen_h/fp_rat=6/stat
- 03hive数仓安装与基础使用
daydayup9527
hadoop_hive运维hadoop
hiveHive概述Hive是基于Hadoop的一个数据仓库工具。可以将结构化的数据文件映射为一张表,并提供完整的sql查询功能,本质上还是一个文件底层是将sql语句转换为MapReduce任务进行运行本质上是一种大数据离线分析工具学习成本相当低,不用开发复杂的mapreduce应用,十分适合数据仓库的统计分析hive可以用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在hadoop
- flink重温笔记(十五): flinkSQL 顶层 API ——实时数据流转化为SQL表的操作
那就学有所成吧(˵¯͒¯͒˵)
Flink重温笔记flink笔记sql大数据学习方法数据库KAFKA
Flink学习笔记前言:今天是学习flink的第15天啦!学习了flinkSQL基础入门,主要是解决大数据领域数据处理采用表的方式,而不是写复杂代码逻辑,学会了如何初始化环境,鹅湖将流数据转化为表数据,以及如何查询表数据,结合自己实验猜想和代码实践,总结了很多自己的理解和想法,希望和大家多多交流!Tips:"分享是快乐的源泉,在我的博客里,不仅有知识的海洋,还有满满的正能量加持,快来和我一起分享这
- HDFS
weixin_51987187
笔记大数据
(一)HDFS简介及其基本概念 HDFS(HadoopDistributedFileSystem)是hadoop生态系统的一个重要组成部分,是hadoop中的的存储组件,在整个Hadoop中的地位非同一般,是最基础的一部分,因为它涉及到数据存储,MapReduce等计算模型都要依赖于存储在HDFS中的数据。HDFS是一个分布式文件系统,以流式数据访问模式存储超大文件,将数据分块存储到一个商业硬件
- FlinkCDC快速搭建实现数据监控
tianqi11
flinkjava
引入依赖4.0.0com.sandflinkcdc1.0-SNAPSHOTjarFlinkQuickstartJobUTF-81.17.11.14.4-->1.82.12${target.java.version}${target.java.version}2.17.1apache.snapshotsApacheDevelopmentSnapshotRepositoryhttps://reposi
- Apache Paimon 使用之Creating Catalogs
猫猫爱吃小鱼粮
Paimonapachehivehadoop
PaimonCatalog目前支持两种类型的metastores:filesystemmetastore(default),在文件系统中存储元数据和表文件。hivemetastore,将metadata存储在Hivemetastore中。用户可以直接从Hive访问表。1.使用FilesystemMetastore创建CatalogFlink引擎FlinkSQL注册并使用名为my_catalog的P
- 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