- tiktok 弹幕 逆向分析
wx a15018601872
pythonjavatiktoktiktok弹幕tiktok弹幕逆向分析a-bogusX-Gnarly
声明:本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!逆向分析部分python代码部分python代码is_match=check_payload_type(response_msg.payload_type,["im_enter_room_resp","msg"])ifis_mat
- 将RESP.app的备份数据转码成AnotherRedisDesktopManager的格式
ziyue7575
redis软件
将RESP.app的备份数据转码成AnotherRedisDesktopManager的格式最近发现了AnotherRedisDesktopManager,这个软件可以直接展示proto数据。将RESP.app导出的json文件,转码为AnotherRedisDesktopManager的ano文件(是一个list转了base64)注意:AnotherRedisDesktopManager是没有分
- golang unicode转utf-8
rambo.huang
golanggounicode
golangunicode转utf-8Unicode和utf-8的区别具体转换代码Unicode和utf-8的区别参考文章具体转换代码funchandleResponse(resp*http.Response)(string,error){respBytes,err:=ioutil.ReadAll(resp.Body)deferresp.Body.Close()iferr!=nil{fmt.Pri
- 【黑马新版javaweb】-【day05-SpringBootWeb请求响应】-springboot-web-req-resp-案例运行出错:SpringBoot和jdk版本需要一致性检查设置
大数据师
javaspringbootjdk
视频上的版本是springboot3.0以下,目前创建工程时候要填入阿里云服务器。安装jdk11,代码默认是jdk11。如果要用1.8版本,需要从工程、模块等一致性检查设置。参考:【黑马新版javaweb】-【day04-Maven-SpringBootWeb】-springboot与jdk运行兼容问题上述图片把容易遗忘的关键点做了标示,至此,经过验证,不论是jdk11还是1.8都可以正常运行。记
- DirectX function “GetDeviceRemovedReason“ failed with DXGI_ERROR_DEVICE_HUNG (“The GPU will not resp
Roc-xb
Windows相关问题解决显卡驱动Windows
玩游戏的时候,报错:DirectXfunction“GetDeviceRemovedReason”failedwithDXGI_ERROR_DEVICE_HUNG(“TheGPUwillnotrespondtomorecommands”).GPU:“NVIDIAGeForceRTX4060”,Driver:57652.Thiserrorisusuallycausedbythegraphicsdri
- springboot连接Redis报NOAUTH Authentication required
无极之岚
springbootredis后端
背景项目接入redis,连接报错NOAUTHAuthenticationrequired,百度后是没有输入密码,但是在测试环境是正常的。修改多次密码失效,直接使用redis-cli连接,也是只有没输入密码时才会报这个错,密码错误是另一个提示。那应该和redis版本和redis客户端有关根因redis3.0版本仅支持RESP2的通信协议,而Lettuce6.x版本开始,使用RESP3(Redis6.
- Pytest测试框架学习
进阶的DW
pytest学习python
一、安装pytest1、pipinstallpytest-ihttps://pypi.duoban.com/simple二、pytest编写测试用例的规则1、测试文件命名规则文件命名为test_*.py或者*_test.py2、测试用例规则编写测试用例的两种方式纯函数方式编写测试用例,以test_命名的函数deftest_login_success():resp=login(userName="1
- redis持久化策略
斯kk
redisredisjava数据库
RDB是通过生成数据快照来实现持久化的,相当于给内存中的数据拍一张"照片"保存到磁盘上。AOF记录所有写操作命令,以Redis协议格式追加到文件末尾。RDB在满足特定条件时触发内存快照,生成新的RDB文件替换旧文件AOF先写入内存缓冲区,再根据策略刷盘[命令执行]→[将命令转换为Redis网络协议(RESP)格式]→[写入aof_buf缓冲区]→[根据策略刷盘]→[定期重写优化]
- Nginx搭建推流服务器
Nicholas-乔治
安装配置相关nginx服务器运维
RTSP搭建推流服务器1.RESP简介RTSP(RealTimeStreamingProtocol)是由RealNetwork和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP对流媒体提供了诸如暂停,快进等控制,而它本身并不传输数据,RTSP的作用相当于流媒体服务器的远程控制。服务器端可以自行选择使用TCP或UDP来传送串流内容,它的语法和运作跟HTTP1.1类
- 基于Rust语言的Rocket框架和Sqlx库开发WebAPI项目记录(五)
后青春期的诗go
编程语言rust开发语言后端Rocket
登录处理代码在src目录新建login_handle.rs文件目录结构如下:project|—src|—params//封装参数结构体模块|—req.rs//封装请求参数结构体|—resp.rs//封装返回数据结构体|—result_parse.rs//解析返回参数结构体|—mod.rs//导出模块|—common//公共模块|—db.rs//构造数据库连接池|—jwt.rs//处理token|—
- 基于Rust语言的Rocket框架和Sqlx库开发WebAPI项目记录(二)
后青春期的诗go
编程语言rust开发语言后端rocket框架
参数结构体模块在src目录下新建params文件夹在params文件夹下依次新建req.rs、resp.rs、result_parse.rs、mod.rs目录结构如下:project|—src|—params//封装参数结构体模块|—req.rs//封装请求参数结构体|—resp.rs//封装返回数据结构体|—result_parse.rs//解析返回参数结构体|—mod.rs//导出模块req.
- AJAX原理
巴巴_羊
ajax前端javascript
AJAX使用XHR对象和服务器进行数据交互XHRconstxhr=newXMLHttpRequest()xhr.open(`GET`,`http://hmajax.itheima.net/api/province`)xhr.addEventListener(`loadend`,()=>{//console.log(xhr.response)constdata=JSON.parse(xhr.resp
- Docker 安装 Garnet 并设置密码
❀͜͡傀儡师
docker容器运维garnet
Garnet独特优势协议兼容性:Garnet采用流行的RESP线路协议作为起点,这使得可以从当今大多数编程语言(例如C#中的StackExchange.Redis)中可用的未经修改的Redis客户端使用Garnet。性能优势:相比同类开源缓存存储,Garnet在处理多客户端连接和小批量请求时表现更优,提供更好的吞吐量和可扩展性,从而节省成本。低延迟:在AzureVM上展示了极低的客户端延迟,通常低
- Redis(基础篇 + 实践篇 )
不是二师兄的八戒
redis
01|基本架构:一个键值数据库包含什么?Redis作为一个内存数据存储系统,它的架构设计非常简洁,但功能非常强大。理解其核心架构对高效使用Redis至关重要。客户端与服务器架构:客户端通过TCP协议连接到Redis服务器,Redis使用客户端与服务器模式来处理请求。所有请求都被发送到一个主Redis实例,客户端与Redis服务器的交互通过RESP(RedisSerializationProtoco
- SpringMVC学习之数据响应:页面跳转和数据回写
龙哥每天都要学
SpringFrameworkjava服务器前端
SpringMVC主要有两种数据响应方式:页面跳转和数据回写页面跳转:故名思意就是使请求方的页面进行跳转,有请求转发和重定向的方式数据回写:类似JavaWeb学的resp.getWriter().print(),往页面中写入一些数据一、页面跳转页面跳转又分为两种方式:返回字符串的形式和返回ModelAndView的形式1.返回字符串的形式:@RequestMapping(value="/succe
- ddddocr识别图片中的汉字
雪小妮
python
ddddocr识别图片中的汉字importddddocrfromioimportBytesIOfromPILimportImageurl='图片地址'resp=requests.get(url)img=Image.open(BytesIO(resp.content))#初始化OCR模型#创建DdddOcr对象并初始化模型ocr=ddddocr.DdddOcr()#调用recognize函数进行图像
- Go语言圣经 - 第1章 入门 - 1.5 & 1.6 & 1.7 & 1.8 获取URL & 并发获取多个URL & Web服务 & 本章要点
shiyivei
#Gogolang开发语言webservice并发
第1章入门1.5获取Url1.编写代码Go语言提供了net包以及其它包,以便我们可以用来构建我们访问网络资源的程序,我们来看一个例子packagemainimport("fmt""io/ioutil""net/http""os")funcmain(){for_,url:=rangeos.Args[1:]{resp,err:=http.Get(url)iferr!=nil{fmt.Fprintf(o
- 【仓颉三方库】 数据库驱动——redis-sdk
「已注销」
仓颉鸿蒙开发移动开发数据库redislog4jharmonyos网络缓存
特性支持RESP2和RESP3协议接口设计兼容jedis接口语义丰富的管理命令支持支持单连接多线程模式支持发布订阅模式支持哨兵模式和集群模式完备的单元测试覆盖架构简洁,易于扩展开发计划2024.3.22完成支持单机模式的RESP2和RESP3协议的客户端,提供Beta版本2024.4.16完成支持Sentinel集群模式的客户端,提供Beta版本2024.5.31完成支持Redis集群模式的客户端
- Redis 架构与设计
yuguo.im
redis架构数据库
Redis是一种开源的高性能内存键值数据库,其架构设计围绕简单、快速和高效展开。1.Redis的核心架构Redis是一个基于C语言编写的单线程内存数据库,但通过多路复用实现了高效的并发处理。它的架构主要由以下几个模块组成:a.客户端与服务器Redis采用客户端-服务器架构:客户端发送命令请求。服务器处理请求并返回结果。通信使用RESP(RedisSerializationProtocol)协议。b
- @RestController和@RequestBody注解含义
编程就是如此
Java注解java
一、@RestController(一)含义@RestController是SpringFramework中的一个组合注解,主要用于简化创建RESTfulWeb服务的过程。它结合了@Controller和@ResponseBody注解的功能,使得开发者可以更简洁地编写处理HTTP请求的控制器类。(二)用途@Controller:标记一个类为SpringMVC控制器,通常用于处理视图请求。@Resp
- Python网络爬虫笔记(四)——requests与BeautifulSoup
玄黄问道
Python爬虫
一、requestsrequest是请求库,用来获取页面信息。首先记得导入库啊,这个是第三方库,py没有自带,没有安装的小伙伴可以移步我上一篇安装第三方库教程importrequests介绍几个常用的函数1>请求命令importrequestsurl='https://www.163.com'resp=requests.get(url)get用途其实跟构造函数差不多,它的参数不少,我们这里主要用到
- requests 模块
dme.
爬虫学习dme爬虫爬虫python
在python中requests模块常用于爬虫本文将会讲述requests常用函数的用法。1.requests.get()/requests.post()1.基本语法#首先导入requests#pipinstallrequestsimportrequests#这里以百度为例url="https://www.baidu.com/"resp=requests.get(url)#requests.pos
- python爬虫验证下载的图片是否损坏方法
云霄IT
python爬虫开发语言
一、最佳方法使用PIL库的Image进行验证,简单明了fromPILimportImageimportioimportrequestsdefis_image_valid(resp):try:withImage.open(io.BytesIO(resp.content))asimg:img.verify()#验证图片是否有效returnTrueexceptExceptionase:print(f"d
- redis原理
小哲会嘿魔法
redis数据库缓存
文章目录redis客户端-认识RESP持久化持久化具体实现1.RDB(RedisDataBase)2.AOF(AppendOnlyFile)事务相关命令主从复制拓扑结构同步过程部分复制实时复制哨兵(Sentinel)哨兵选取主节点流程集群数据分片主节点宕机集群扩容缓存缓存更新缓存预热、缓存穿透、缓存雪崩、缓存击穿分布式锁过期时间校验IdLua脚本watchdog(看门狗)Redlock算法redi
- 分布式中间件-redis相关概念介绍
问道飞鱼
分布式技术分布式中间件redis
文章目录什么是redis?示意图Redis的主要特点Redis的主要用途Redis的工作原理Redis的持久化与备份redis6.x新增特性多线程数据加载客户端缓存新的RESP3协议支持ACL(AccessControlList)功能`新增数据类型`性能改进配置文件的改进其他改进redis数据类型有哪些?redis部署模式有哪些?redis常见问题缓存击穿(CacheStampede)缓存雪崩(C
- 【vue3】探讨为什么ref()换为reactive()数据不再是响应式?
逆旅行天涯
#vue学习vue.js前端javascript
原问题:本来想使用数组中的filter方法,原来用的是lettableData=ref([])然后发现Ref上不再filter属性,所以就换成了lettableData=reactive([])但是这样有了一个新问题就是:数据加载不出来了,代码如下//获取文章列表数据lettableData=reactive([])functiongetArt(){getArticles().then((resp
- php laravel restful api,laravel怎么请求第三方restful api接口?
weixin_39855796
phplaravelrestfulapi
这么强大的框架,开发文档里居然没有告诉如何用http请求访问第三方api。目前百度出来的几个方案:1。这个方案会报NotFoundHttpException,大致调试了一下,好像是输入的路由不合法,也没有文档说一下这2个方法如何使用。。$req=Request::create('http://localhost:1920/api/User/GetUser','GET');$resp=Route::
- websocket 如果重连还是失败的处理方法
小纯洁w
websocket网络协议网络
在Websocket重连失败后切换到HTTP轮询,可以采用以下步骤执行:定义HTTP轮询方法:根据你的应用需求,先定义一个专门执行HTTP轮询的方法。这通常包括一个定期执行HTTP请求的setInterval或者setTimeout。例如:functionhttpPolling(){setInterval(function(){fetch('/server-endpoint').then(resp
- Vue 选中表格中的行,并勾选复选框,并查询表格第一页
赛亚人之神
querySelectedPackageProductList(){letparam={content:{id:this.childParam.content.packageId}};log('查询所有已勾选的列表元素入参',param);getPackageList(param).then((resp)=>{if(200===resp.status){this.$refs.multipleTab
- Redis6.0新特性
zcccsss
Redis开发语言redis数据库缓存java
Redis多线程Redis处理网络请求从一开始和客户端建立socket连接,之后轮询所有的客户端,这些都与之前的版本是相同的。但是Redis可以多线程的解析这些网络请求,之后的执行这些请求,依然是单线程的。在得到返回的数据后,Redis会多线程的将数据写回socket。Redis客户端缓存客户端缓存有普通模式,广播模式和重定向模式,其中普通模式和广播模式是需要使用Redis最新推出的RESP3协议
- 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