- Web安全与网络安全:SQL漏洞注入
bigbig猩猩
typescriptvue.js前端
Web安全与网络安全:SQL漏洞注入引言在Web安全领域,SQL注入漏洞(SQLInjectionVulnerability)是一种极具破坏性的安全威胁。它允许攻击者通过向Web应用程序的输入字段中插入或“注入”恶意的SQL代码片段,从而操纵后台数据库系统,执行未授权的数据库查询,甚至可能获取数据库管理权限,进而对整个系统造成严重的安全损害。本文将从SQL注入的原理、分类、危害及防御策略等方面进行
- mysql 把多条符合条件的数组 json 合并成一条
KingFu28
mysqljson
selectc.PROC_INST_ID_,sfj.file_jsonfrombpm_check_opinioncleftjoinsys_file_jsonsfjontimestampdiff(minute,sfj.create_time,c.CREATE_TIME_)between0and3--三分钟内wherec.PROC_INST_ID_='10000005440002';查询结果:1000
- 基于JAVA高校毕业就业管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
源新网络
java开发语言
基于JAVA高校毕业就业管理系统计算机毕业设计源码+数据库+lw文档+系统+部署基于JAVA高校毕业就业管理系统计算机毕业设计源码+数据库+lw文档+系统+部署本源码技术栈:项目架构:B/S架构开发语言:Java语言开发软件:ideaeclipse前端技术:Layui、HTML、CSS、JS、JQuery等技术后端技术:JAVA运行环境:Win10、JDK1.8数据库:MySQL5.7/8.0源码
- 【网络安全】空字节绕过:URL回调+XSS+SQL绕WAF
秋说
网络安全web安全xsssql漏洞挖掘
未经许可,不得转载。文章目录空字节URL回调XSSSQL空字节\0,也称为null字节,是一个值为零的特殊字符。在编程中,通常用来表示字符串的结束。攻击者可以利用null字节注入来绕过一些验证或过滤机制。以下三个漏洞,空字节功不可没。URL回调密码重置功能,发起请求后,邮箱会收到链接。请求包中存在callbackUrl参数:在参数中添加/test,发包后,邮箱中的链接为https://compan
- Python Web 框架篇:Flask、Django、FastAPI介绍及其核心技术
Switch616
PythonWebpython前端flaskfastapidjango开发语言后端
PythonWeb框架篇:Flask、Django、FastAPI介绍及其核心技术目录FlaskFlask核心概念(路由、视图函数、模板渲染)FlaskBlueprint模块化应用Flask扩展(Flask-SQLAlchemy、Flask-WTF、Flask-Migrate等)DjangoDjango项目架构DjangoORM及模型定义Django中间件Django信号机制DjangoForm和
- sqlalchemy.orm中validates对两个字段进行联合校验
weixin_41956627
数据库python
版本sqlalchemy==1.4.37需求说明有个场景,需要在orm中对两个字段进行联合校验,当col1='xxx’时,对col2的长度进行检查,超过限制(500)时,进行截断。网上找了很久,没找到类似的实现,自己摸索出来了一套方法;解决在validates装饰器中,它是在设置字段值之前被调用的,validates包装的函数校验完成后通过return赋值给字段validates的执行顺序看起来是
- Hive SQL查询汇总分析
大数据深度洞察
Hivehivesqlhadoop数据仓库数据库大数据
目录SQL查询汇总分析成绩查询查询编号为“02”的课程的总成绩查询参加考试的学生个数分组查询查询各科成绩最高和最低的分查询每门课程有多少学生参加了考试(有考试成绩)查询男生、女生人数分组结果的条件查询平均成绩大于60分的学生的学号和平均成绩查询至少选修四门课程的学生学号查询同姓(假设每个学生姓名的第一个字为姓)的学生名单并统计同姓人数大于2的姓查询每门课程的平均成绩,结果按平均成绩升序排序,平均成
- 基于spring boot的旅游管理系统
鹿屿二向箔
springboot旅游后端
一个简单的SpringBoot应用的基础结构示例,以及如何设置一个基本的旅游管理系统。这个例子将包含用户注册和登录的基本功能。首先,你需要设置一个新的SpringBoot项目。可以通过SpringInitializr网站(https://start.spring.io/)来快速生成一个基础项目结构,选择必要的依赖项,比如Web、Thymeleaf、SpringDataJPA和MySQLDriver
- SQL MySQL定时器/事件调度器(Event Scheduler)
語衣
SQLsqlmysql数据库
栏目总目录事件调度器(EventScheduler)在MySQL数据库系统中是一个强大的功能组件,它允许用户定义一系列称为“事件”的数据库对象,这些事件在指定的时间或时间间隔自动执行预定义的SQL语句或操作。事件调度器通过维护一个时间计划表来管理这些事件的执行,从而实现了数据库操作的自动化和定时化。概念事件(Event):在MySQL中,事件是一个数据库对象,它定义了要执行的SQL语句(或一组SQ
- hive表格统计信息不准确
weixin_41956627
hivehivehadoop数据仓库
问题描述有个hive分区表,orc存储格式,有个分区,查询selectcount(1)fromtablewheredt='yyyyMMdd'结果是0,但查询select*fromtablewheredt='yyyyMMdd'又能查到数据,去hdfs对应目录下查看,也能看到有数据文件解决执行如下sqlANALYZETABLEdb.table1PARTITION(dt='20240908')COMPU
- EFCore中利用原生sql进行联表/多表查询
xk_hypothesis
EFCore
EFCore中利用原生sql进行联表/多表查询EFCore的多表查询可以使用join,include这些进行查询,但是写起来比较复杂,它们一般适用于单表查询(个人觉得),对于多表查询,我更喜欢使用原生SQL这种方式。具体方式如下(这里以2张表关联为例):首先,创建两张数据库中对应的实体类:[Table("Sys_User")]publicclassSys_User{//////自增主键///[Ke
- PostgreSQL 数组类型使用详解
捞起月亮的渔民丁
postgresql数据库
PostgreSQL数组类型使用详解PostgreSQL数组类型使用详解可能大家对PostgreSQL这个关系型数据库不太熟悉,因为大部分人最熟悉的,公司用的最多的是MySQL我们先对PostgreSQL数据库(下面简称PG)简单的介绍一下,以后有机会,再单独写一篇专门介绍pgSql的文章TheWorld’sMostAdvancedOpenSourceRelationalDatabase这是PG官
- this is incompatible with sql_mode=only_full_group_by解决方案
Biubbbbbbbbiu
NavicatforMySQLsqlmysql数据库
MySQL查询时报错:thisisincompatiblewithsql_mode=only_full_group_by报错原因分析:一、原理层面这个错误发生在mysql5.7.5版本及以上版本会出现的问题:mysql5.7.5版本以上默认的sql配置是:sql_mode=“ONLY_FULL_GROUP_BY”,这个配置严格执行了"SQL92标准"。二、sql层面在sql执行时,出现该原因,简单
- Web安全之SQL注入:如何预防及解决
J老熊
JavaWeb安全web安全sql数据库系统架构面试
SQL注入(SQLInjection)是最常见的Web应用漏洞之一,它允许攻击者通过注入恶意SQL代码来操作数据库,获取、修改或删除数据。作为Java开发者,理解并防止SQL注入攻击是至关重要的。在本篇文章中,我们将详细介绍SQL注入的原理,演示如何在电商交易系统中出现SQL注入漏洞,并提供正确的防范措施和解决方案。1.什么是SQL注入?SQL注入是一种通过在用户输入中嵌入恶意SQL代码的攻击方式
- 在PostgreSQL中使用JSONB对象数组
weixin_26750481
javapython
数据库提示(DatabaseTips)Inmylastarticle,wefocusedonturningaPostgreSQLjsonbcolumn,thatcontainedanArrayofObjects,intoarecordset,sothatitcouldbequeriedinarelationalmanner.在我的上一篇文章中,我们专注于将包含对象数组的PostgreSQLjson
- 连接MySql报错Unable to load authentication plugin 'caching_sha2_password'
培根芝士
JavaSQL
在使用mybatis-generator-maven-plugin:generate的时候报了一个Unabletoloadauthenticationplugin'caching_sha2_password'的错误。错误的原因是由于MySQL8.0之后的加密规则为caching_sha2_password,而在此之前的加密规则为mysql_native_password。解决方法:mysql-ur
- SQL联表查询LEFT JOIN 数据去重复
培根芝士
SQLsql数据库
使用leftjoin联表查询时,如果table1中的一条记录对应了table2的多条记录,则会重复查出id相同的多条记录。SELECTt1.*FROMtable1t1LEFTJOINtable2t2ONt1.id=t2.tid解决方法:将查询结果作为中间表,使用groupby进行去重SELECTtmp.*FROM(SELECTt1.*FROMtable1t1LEFTJOINtable2t2ONt1
- JDBC客户端连接Starrocks 2.5
MARSERERER
数据库
4.0.0org.exampleTestStarrocksJdbc1.0-SNAPSHOT88UTF-8mysqlmysql-connector-java5.1.47-->8.0.28maven-assembly-pluginjar-with-dependenciestruecom.example.Testmake-assemblypackagesinglepackagecom.example;i
- postgresql 判断数据是否存在,存在更新,不存在则插入
llc的足迹
数据库postgresql
INSERTINTOtable_name(create_time,update_time,name,latest_time)VALUES(NOW(),NOW(),'name''2023-04-2519:05:50')ONCONFLICT(name)DOUPDATESETupdate_time=NOW(),target_name='name',latest_time='2023-04-2519:05
- flask sqlalchemy 动态创建表
llc的足迹
数据库flasksqlalchemy
创建模型defget_model(suffix):classBaseModel(Base):__tablename__=f'table_{suffix}'__table_args__={'extend_existing':True}target_name=db.Column(db.String(64),nullable=False,unique=True,comment="名称")target_i
- sqlalchemy判断表是否存在及动态创建表
llc的足迹
数据库sqlalchemy
defget_model(suffix):classTableModel(Base):__tablename__=f'table_{suffix}'__table_args__={'extend_existing':True}name=db.Column(db.String(64),comment="名称")desc=db.Column(db.String(32),comment="描述")ret
- 人生苦短我用Python pandas文件格式转换
程序喵D
人生苦短我用Pythonpythonpandas
人生苦短我用Pythonpandas文件格式转换前言示例1excel与csv互转常用格式的方法FlatfileExcelJSONXML示例2常用格式转换简要需求依赖export方法main方法附其它格式的方法HTMLPicklingClipboardLatexHDFStore:PyTables(HDF5)FeatherParquetORCSASSPSSSQLGoogleBigQuerySTATA前
- this is incompatible with sql_mode=only_full_group_by解决
返回值
mysqlsqlmysql数据库
项目场景:有时候,遇到数据库重复数据,需要将数据进行分组,并取出其中一条来展示,这时就需要用到groupby语句。但是,如果mysql是高版本,当执行groupby时,select的字段不属于groupby的字段的话,sql语句就会报错。报错信息如下:Expression#1ofSELECTlistisnotinGROUPBYclauseandcontainsnonaggregatedcolumn
- mysql 查询报错 this is incompatible with sql_mode=only_full_group_by
Wind Drift
mysqlsql数据库
InaggregatedquerywithoutGROUPBY,expression#1ofSELECTlistcontainsnonaggregatedcolumn‘smart_site.tc.company_name’;thisisincompatiblewithsql_mode=only_full_group_by原因:这个错误是由于MySQL的"ONLY_FULL_GROUP_BY"SQL
- MySQL 进阶知识
A_cot
mysql数据库前端bigdatadatabase
当你掌握了基本的SQL语句和数据库操作后,进一步深入了解MySQL的进阶内容,将为你打开更广阔的数据管理和应用之门。一、存储过程与函数1.存储过程存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。存储过程可以接收参数、返回结果,并且可以被重复调用。优点:提高性能:存储过程在数据库服务器上执行,减少了网络传输和客户端处理的开销。增强安全性:可以限制对数据库的直接访问,通过存储过程
- MySQL解决错误this is incompatible with sql_mode=only_full_group_by…
培根芝士
SQLmysqlsql数据库
在SQL查询语句中加入groupby时报了以下错误:;badSQLgrammar[];nestedexceptionisjava.sql.SQLSyntaxErrorException:Expression#1ofSELECTlistisnotinGROUPBYclauseandcontainsnonaggregatedcolumn'user.varieties.id'whichisnotfunc
- Postgresql 删除数组中的元素
llc的足迹
数据库postgresql数据库
extra为{“a”:[null,3,null],“b”:111}使用sql将extra中a中的null移除第一步:首先先把[null,3,null]移除,selectjson_agg(elem)filter(whereelem!='null')from(selectjsonb_array_elements('[null,3,null]'::jsonb)aselem)t;这将得到[3]jsonb_
- android系统设计模式
轻口味
Android系列android设计模式
Android官方架构组件介绍之LifeCycle,Android架构组件一共包括以下几个:LifeCycle:与Activity和Fragment的生命周期有关LiveData:异步可订阅数据,也是生命周期感知ViewModel:视图数据持有模型,也是生命周期感知Room:SQLite抽象层,用于简化SQLite数据存储官网设计原则Android应用程序的开发使用Java编写,在架构上使用MVC
- 初见flyway
simple哇
数据库数据库
flyway(一种数据库版本控制工具document)两种文件V和RV:V开头是不可重复执行的文件,每次修改完都该更改名称R:R开头是可重复执行的文件,需要保证内部sql都是可以重复执行的名称格式:V__table_name.sql,R__table_name.sql操作baseline:以现在数据库状态为基准,创建flyway_schema_history表,以及相关信息填充[类似初始化]mig
- Spring Boot 技术提升房屋租赁系统性能
2401_85763803
springboot后端java
第2章技术介绍2.1相关技术房屋租赁系统是在JSP+MySQL开发环境的基础上开发的。JSP是一种服务器端脚本语言,易于学习,实用且面向用户。全球超过35%的JSP驱动的互联网站点使用JSP。MySQL是一个数据库管理系统,因为它的体积小但速度快,成本低,或者开源受到中小型网站的青睐。因此,JSP+MySQL作为一个成熟的开发环境,可以满足房屋租赁系统设计和开发所需的稳定性,安全性和可扩展性要求。
- 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