- 【Vim Masterclass 笔记10】S06L23:Vim 核心操作训练之 —— 文本的搜索、查找与替换操作(第二部分)
安冬的码畜日常
VimMasterclassvim笔记vim查找与替换
文章目录S06L23Search,Find,andReplace-PartTwo1文本替换命令`:s/old/new/`2指定范围的文本替换3特例:路径的替换4文件行号的配置5要点总结(1)搜索当前行(SameLineSearching)(2)跨行搜索(Searching)(3)替换命令(SubstituteCommand)写在前面根据李笑来《自学是门手艺》的建议,梳理完知识要点后又对这章内容制作
- C# 使用余弦定理寻找三角形第三边的程序(Program to find third side of triangle using law of cosines)
csdn_aspnet
C#c#开发语言
给定两条边A、B和角C。利用余弦定理求出三角形的第三边。示例:输入:a=5,b=8,c=49输出:6.04339具体来说,当你知道三角形两条边的长度和中间的角度时,余弦定理可以用来求出三角形第三边的长度。参见此处了解如何求余弦值。假设a、b、c是三角形的边,其中c是角C对面的边。然后,c^2=a^2+b^2-2*a*b*cos(c)或c=sqrt(a^2+b^2-2*a*b*cos(c))示例代码
- FFmpeg源码分析:avformat_open_input
chaisy971124568
WebRTC音视频FFmpegffmpeg
一、函数功能介绍当前支持的媒体解封装协议在libavformat/demuxer_list.c文件的demuxer_list变量中定义当前支持的音视频采集格式在libavdevice/indev_list.c文件的indev_list变量中定义用户可以自行查看av_find_input_format函数的具体逻辑,得知最新版本的ffmpeg支持情况。注意:若进行音视频采集之前,则必须执行avdev
- Android Preference隐藏,删除方式
码点
androidframworkAndroid底层知识androidjavaapache
在Android系统开发中,经常需要去掉或者隐藏原生设置的一些条目。一、隐藏Preference方法@VisibleForTestingstaticfinalStringENABLE="enable";Preferenceenable=findPreference(ENABLE);enable.setVisible(false);R.xml.main&l
- SSM框架搭建
皇家大厨
笔记
此文参考书籍为ACCP软件工程师——使用SSM框架开发企业级应用8.0版文章目录遇到的问题:1.错误:couldnotfindresourcesrc/dao/UserMapper.xml和mybatis启动异常:Logginginitializedusing'classorg.apache.ibatis.logging.log4j.Log4jImpl'2.Eclipse中的路径问题:3.log4j
- Linux~MQ
幽默小吴
linux运维服务器javaecharts
一、Linux基础命令如何查看当前进程?答:ps-aux或top(实时监控)。如何查找文件?答:find/path-name"filename"或locatefilename。如何查看系统日志?答:tail-f/var/log/syslog或journalctl(Systemd系统)。权限管理如何修改文件权限?答:chmod755filename或chmodu+xfilename。如何修改文件所有
- 【MediaTek】 T750 openwrt-23.05编 cannot find dependency libexpat for libmesode
wellnw
Openwrtopenwrt智能路由器
MediaTekT750T750采用先进的7nm制程,高度集成5G调制解调器和四核ArmCPU,提供较强的功能和配置,设备制造商得以打造精巧的高性能CPE产品,如固定无线接入(FWA)路由器和移动热点。MediaTekT750平台是一款综合的芯片组,集成了5GSoCMT6890、12nm制程的收发器MT6190、ET、GNSS和PMIC等。高度集成的T750平台大幅减少组件数量,为产品设计者提供更
- cmake 编译找不到 Qt5WebKitConfig.cmake
SimpleForest
杂七杂八
用cmake编译时出现如下错误提示:CMakeErroratCMakeLists.txt:313(FIND_PACKAGE):Bynotproviding"FindQt5WebKit.cmake"inCMAKE_MODULE_PATHthisprojecthasaskedCMaketofindapackageconfigurationfileprovidedby"Qt5WebKit",butCMa
- 【Python】解决PyTorch报错:PytorchStreamReader failed reading zip archive: failed finding central的解决方案
I'mAlex
pythonpytorch开发语言
在使用PyTorch时,遇到“PytorchStreamReaderfailedreadingziparchive:failedfindingcentral”错误通常是由于损坏的模型文件或不兼容的文件版本导致的。这种问题在加载模型或数据时比较常见。以下是一些排查和解决该问题的步骤。博主简介:现任阿里巴巴嵌入式技术专家,15年工作经验,深耕嵌入式+人工智能领域,精通嵌入式领域开发、技术管理、简历招聘
- LeetCode刷题之——滑动窗口
阳天_
自学c语言数据结构
滑动窗口三步走:第一步确定尾指针++的条件,往右扩张;第二步确定头指针++的条件,往右收缩,第三步更新所求目标值(一般都是极值)滑动窗口伪代码:start=0end=0//初始化while(扩张条件){while(收缩条件){FindTarget()//收缩时一般求极小值start++//收缩,有可能是++,也有可能是跳跃式移动}FindTarget()//扩张时一般求极大值end++//扩张,一
- 算法与数据结构(存在重复元素)
a_j58
算法数据结构leetcode哈希算法
题目思路哈希表对于nums数组中的所有元素进行遍历并判断。若在哈希表中没有找到该元素,则将该元素插入到哈希表中。若找到,说明该值至少出现两次,返回true。代码classSolution{public:boolcontainsDuplicate(vector&nums){unordered_seta;for(intnum:nums){if(a.find(num)!=a.end())returntr
- 并查集Disjoint Set Union
顾北辰20
Java数据结构java数据结构
目录数据结构方法实现优化技巧实现一个基于哈希表的并查集(DisjointSetUnion,DSU)数据结构,使用了路径压缩和按秩合并的优化技巧。下面我将详细解释这个实现的原理和各个部分的功能。publicinterfaceIDisjointSet{voidadd(Ex);voidunion(Ex,Ey);booleanisConnected(Ex,Ey);intgetSize(Ex);Efind(
- 使用npx electron-forge import命令时报错Could not find git in environment的解决方法
CarenStrid
electronjavascript前端
准备使用ElectronForge打包项目文件时(打包您的应用程序|Electron)可能会遇到以下错误:解决方法:在git的官网(GitforWindows)上下载安装git,然后在gitbash的窗体中运行命令即可。(git的官网)git下载安装完成后会自动启动gitbash,在其中输入并执行命令npxelectron-forgeimport即可。
- MongoDB 的批量查找符号
yqcoder
mongodb数据库
一、`$in`操作符1.功能`$in`操作符用于匹配字段值等于指定数组中任意值的文档,能批量查找多个特定值的文档。2.语法示例db.collection.find({field:{$in:[value1,value2,...]}});3.代码示例假设有个名为`users`的集合,里面存有用户信息,若要查找`age`为20、25或30的用户,可使用以下代码:db.users.find({age:{$
- 同花顺数据接口再开发(一)
冰宁秋叶四飘
同花顺qt开发语言c++QT
同花顺发布自己的数据接口,方便研究人员可以获取需要的数据,研究股票等。首先我们需要申请用户,地址同花顺数据接口(10jqka.com.cn)此地址有几个方面,可以申请学生,但是目前测试需要学校网络。申请商用,不需要多复杂,就是电话回复之后,添加客服微信,她们会告诉你账号密码。后面就可以开发了。至于免费和付费的区别,主要是数据量和数据的丰富程度,一般作为个人开发,练习是不错的。下载SDK和iFinD
- Linux find命令详解
我是唐青枫
Linuxlinux运维服务器
一、命令介绍Linuxfind命令是类unix操作系统中最重要和最常用的命令行实用程序之一。find命令用于根据指定的条件搜索和定位与参数匹配的文件和目录列表。find命令提供了广泛的选项,允许用户在不同的条件下使用它。它使个人能够根据多种标准搜索文件,包括权限、用户、组、文件类型、日期、大小和各种其他参数。find作为程序员工作台项目的一部分出现在Unix版本5中,由DickHaight与cpi
- 力扣1.两数之和,c++哈希表解法时间复杂度o(n)
崎月xy
leetcode数据结构算法c++力扣
本题最容易想到的就是暴力遍历解法但是时间复杂为o(),所以本题可以采用哈希表进行秋姐,代码如下classSolution{public:vectortwoSum(vector&nums,inttarget){unordered_map_map;//创建一个哈希表for(inti=0;i::iteratorit=_map.find(target-nums[i]);//创建迭代器查找哈希表中是否有与当
- LeetCode:两排序数组中位数(C语言版)
想考北航的小刺猬
LeetCodeleetcodec语言算法
doublefindMedianSortedArrays(int*nums1,intnums1Size,int*nums2,intnums2Size){inta[nums1Size+nums2Size];inti=0;intj=0;intk=0;while(i
- Feign
Mr_蜗牛
SpringCloud
在上个例子中,我通过1、启动eureka2、注册服务3、调用服务做了一个简单的demo,但是在最后面,我是通过这样一段代码来调用服务的提供者的@GetMapping("/movie/{id}")publicUserfindById(@PathVariableLongid){//http://localhost:7900/simple///VIPvirtualIP//HAProxyHeartbeat
- python同花顺交易接口_开启量化第一步!同花顺iFinD数据接口免费版简易操作教程...
weixin_39564527
python同花顺交易接口
金融市场波动频繁,投资往往会夹杂非理性的情绪。而量化交易,旨在以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选能带来超额收益的多种“大概率”事件以制定策略,辅助投资者进行理性投资。不过计算机分析存在一定的技术门槛,有没有简单易学的量化交易方式,能够快速获取有价值的投资策略方案呢?同花顺iFinD数据接口免费版提供简易的操作与丰富的实操案例,将作为引路者,带你迈入量化世界!P
- 颠覆传统Java性能瓶颈:Quarkus+GraalVM原生镜像实战解析
桂月二二
java开发语言
引言:云原生时代的Java困境在容器化与Serverless架构大行其道的今天,传统Java应用的启动速度与内存消耗已成为制约其发展的关键瓶颈。当Node.js应用在300ms内完成冷启动时,SpringBoot应用可能还在JVM预热阶段。本文将揭秘如何通过Quarkus框架与GraalVM原生编译技术,打造启动时间findByOrderNumber(StringorderNumber){retu
- halcon三维点云数据处理(十三)reduce_object_model_3d_by_view
mm_exploration
Halcon3dhalcon图像处理点云处理
目录一、reduce_object_model_3d_by_view函数二、reduce_object_model_3d_by_view函数调用过程首先说明一下这部分代码在find_box_3d这个例程中,非常好用的一个坐标系生成函数。一、reduce_object_model_3d_by_view函数通过将3D对象模型投影到虚拟视图并删除给定区域外的所有点来删除3D对象模型中的点。reduce_
- linux红帽基础命令
Justice link
服务器linux运维
08查看系统合法shell:cat/etc/shells09查看系统发行版版本:cat/etc/redhat-release10查看系统内核版本:uname-a11临时修改主机名:sudohostnamenew_host12查看系统指令的查找路径:findwhichwhereis(echo$PATH)env(查找所有的环境变量)13查看passwd指令的执行路径:whichpasswd14为/ya
- qt 动态添加控件(删除子控件)
码农客栈_V13427279549
Qtqt
需求:当点击某控件,界面能添加指定控件。解决方案:首先删除原来界面下的子控件QListbtns=this->scrollArea->findChildren();//可根据自己的需要更改控件foreach(QPushButton*btn,btns){deletebtn;}然后再重新初始化界面,将新增的控件添加上来便可。
- null和undefined的区别
一只桃子~
javascript
undefind是全局对象的一个属性,当一个变量没有被赋值或者一个函数没有返回值或者某个对象不存在某个属性却去访问或者函数定义了形参但没有传递实参,这时候都是undefined。undefined通过typeof判断类型是'undefined'。undefined==undefinedundefined===undefined。undefined是全局对象的一个属性,当一个变量没有被赋值或者一个函
- 终级解决:Error: Cannot find module ‘fs/promises‘
Defry
该原因主要是nodejs版本太低引起的1、将nodejs升级到v14.16.02、将npm升级到6.14.11完美解决附赠:node和npm对照表:https://nodejs.org/zh-cn/download/releases/nodejs各个版本下载地址:https://nodejs.org/dist/v13.14.0/
- Linux实操----时间时期、搜索查找、压缩解压类指令
qq_40927884
LinuxLinux时间日期类指令搜索查找类指令压缩解压类指令
时间日期类指令(1)date:显示当前系统时间。date+%Y(显示当前系统时间年份)date+%m(显示当前系统月份)date+%d(显示当前是哪一天)date“+%Y-%m-%d%H:%M:%S”(功能描述:显示年月日时分秒)(2)date:设置当前系统的时间基本语法:date-s字符串(3)cal:显示当前月日历。常用一个数字参数,来显示某年的日历(4)find:find指令将从指定目录向下
- 快速查看端口指令
出门喝奶茶
笔记windows
在Windows中查看端口使用netstat命令:打开命令提示符(Win+R,输入cmd)。输入以下命令查看端口占用:netstat-ano-a:显示所有活动的连接和侦听的端口。-n:以数字形式显示地址和端口。-o:显示每个连接对应的进程ID(PID)。如果想过滤特定端口,可以用findstr:netstat-ano|findstr:80上述命令会显示80端口的占用情况。2.通过任务管理器关联进程
- 四种解决”Arg list too long”参数列表过长的办法
在Linux环境下,当你尝试使用大量的文件作为命令参数时,可能会遇到"Argumentlisttoolong"错误。这是因为Linux系统对于命令行参数的长度有限制,当参数的数量或总长度超过该限制时,系统就会抛出此错误。常见的错误场景是使用*通配符匹配大量文件时。幸运的是,有多种方法可以避免此问题,下面我们将详细介绍四种常用的解决办法。1.使用find命令的-exec选项find命令通过-exec
- Python Flask 重定向到方法 重定向到网站
安果移不动
pythonflask开发语言
fromflaskimportFlask,redirect,url_forapp=Flask(__name__)#重定向到百度@app.route('/index')defindex():returnredirect("https://www.baidu.com")#重定向到自定义函数@app.route('/index2')defindex2():returnredirect(url_for('
- 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