- vue axios跨域访问相关问题 | axios默认发送‘application/x-www-form-urlencoded‘格式数据 | Content-Type is not allowed b
就是爱吃肉ro
#Vue&uni-appaxiosajaxcors跨域vuex-www-form-url
文章目录概述报错1Content-TypeisnotallowedbyAccess-Control-Allow-Headersinpreflightrespon报错2返回状态码500好久没更博客了,最近一直搞框架搞项目,好多问题也都没有记录下来…好吧,那从今天起来,继续开始保持记录的好习惯,先写一下在axios上踩下了这么多坑.概述通过以下两个报错,来介绍解决使用axios来进行网络请求中的遇到的
- springCloud 网关(gateway)配置跨域访问
雁归来时
SpringCloudSpringBoot日志springcloudgatewayspring
如果项目是分布式架构,通过网关进行路由转发的,那么项目中如果存在跨域的访问,在每一个项目中单独配置,显示是错误的,我们只需要在网关处进行处理,其它项目都是由网关进行转发的,他们是不会存在跨域访问的(具体为啥,可以查询跨域产生的原因)下面就上代码了packageorg.example.sysgateway.filter;importorg.springframework.context.annota
- CORS 和 JSONP 解决跨域问题
如光凌清尘
由于浏览器的同源策略,不同协议、域名、端口的网页是不允许互相请求资源的。但在前后端分离的开发模式中,前后端的域名是不一样的,如果要进行数据的交互就会产生跨域。解决跨域的方案:一:cors设置请求头浏览器的同源安全策略默认会阻止网页“跨域”获取资源。但如果接口服务器配置了CORS相关的HTTP响应头,就可以解除浏览器端的跨域访问限制CORS主要在服务器端进行配置。客户端浏览器无须做任何额外的配置,即
- 一篇搞定面试中的跨域问题
cors前端面试问题
什么是CORS(跨源资源共享)?CORS(Cross-OriginResourceSharing)是一种机制,允许网页从不同的域访问服务器上的资源。在同源策略下,浏览器限制了跨域访问,CORS允许服务器指定哪些源可以访问其资源。同源策略(Same-originpolicy)同源策略在web应用安全模型中是一个重要的概念。在这个策略下,浏览器允许第一个网页中包含的脚本可以获取第二个网页的数据,前提是
- 去掉IE自动弹出“该页正在访问其控制范围之外的信息,这有些危险,是否继续?”对话框
后端Q
.NETieinternet工具
IE->工具->安全->“Internet”和“本地Intranet”中的都包含一个“跨域访问数据源”选项,将该项值修改为“启用”确定之后重新登录,此时对话框就不会弹出来了!
- 如何实现跨域?设计模式的六大原则?为什么要使用 spring?
weixin_53180424
java设计模式
如何实现跨域?跨域是指在浏览器的同源策略下,一个网页的脚本在未经允许的情况下,不能访问另一个域名下的资源。实现跨域有多种方法,以下是常用的几种跨域解决方案:CORS(跨域资源共享):CORS是一种官方标准的跨域解决方案,通过服务器设置响应头中的Access-Control-Allow-Origin字段来允许指定域名的请求跨域访问。例如,在响应头中添加Access-Control-Allow-Ori
- php-tp允许ajax跨域访问
若初_终点
在class上面加3个headernamespaceapp\appc\controller;usethink\Controller;//允许baidu.com发起的跨域请求header("Access-Control-Allow-Origin:baidu.com");//如果需要设置允许所有域名发起的跨域请求,可以使用通配符*header('Access-Control-Allow-Origin:
- 跨域详解和跨域解决方法
思静语
网络通信安全java
文章目录概述跨域访问问题情况解决跨域访问的方法CORS跨域背景CORS跨域简单请求概述跨域访问问题指的是在Web开发中,当一个网页的JavaScript代码尝试向不同域名(或端口、协议)的服务器发起HTTP请求时所遇到的限制。这种限制是由浏览器的同源策略(Same-OriginPolicy)引起的,目的是为了保护用户隐私和安全,防止恶意网站窃取数据。跨域访问问题指的是在Web开发中,由于安全策略限
- 关于ajax跨域访问,Access-Control-Allow-Origin 404的简单解决办法
熹小雨Marain
ajax跨域php跨域java跨域
~关于ajax跨域,都是一个老生常谈的问题了,解决方法很多,比较常用的是JSONP方法,JSONP方法是一种非官方方法,而且这种方法只支持GET方式,不如POST方式安全(大家应该都知道)。即使使用jquery的jsonp方法,type设为POST,也会自动变为GET。(实践才是硬道理)例如:客户端的域名是www.c.com,而请求的域名是www.s.com如果直接使用ajax访问,会有以下错误X
- 使用node.js实现跨域请求
samLi0620
node.js
一、准备环境1.1linux服务器(能联通外网)1.2Node安装部署二、搭建一个node项目2.1运行npminit,键入参数2.2补充依赖库npminstallrequest(发送请求相关库)2.3增加index.js文件,补充文件内容2.3.1设置允许跨域访问//跨域相关设置//设置允许跨域的域名,*代表允许任意域名跨域res.setHeader("Access-Control-Allow-
- Node.js的接口跨域的问题与解决方案,使用 CORS中间件解决跨域问题
noahsark747
中间件node.js前端
cors简介CORS是由一系列HTTP响应头组成,由这些HTTP响应头决定浏览器是否阻止前端JS代码跨域获取资源。浏览器的同源安全策略会阻止网页跨域获取资源,但如果接口服务器配置了CORS相关的HTTP响应头,就可以接触浏览器端的跨域访问限制。**注意:**CORS主要在服务器端进行配置,浏览器无需做额外的配置,即可请求开启了CORS的接口。CORS在浏览器中有兼容性,ie10+、chrome4+
- Spring MVC跨域设置
liuzhenghua66
#Java基础springmvcjava
简介出于安全方面考虑,浏览器发起请求时,会先检查同源策略(协议、主机、端口是否与当前页面相同),不匹配则认为是跨域请求。CORS(Cross-OriginResourceSharing)CORS是一种机制,允许服务器声明哪些域(origin)可以访问其资源,从而绕过同源策略的限制。浏览器会发送预检请求(PreflightRequest)以确定是否允许跨域访问。Preflight请求Prefligh
- 跨域访问支持(Spring Boot、Nginx、浏览器)
JavaNice哥
javaspringbootnginx状态模式
跨域访问支持(SpringBoot、Nginx、浏览器)一、SpringBoot跨域配置我们的后端使用SpringBoot。SpringBoot跨域非常简单,只需书写以下代码即可。@ConfigurationpublicclassCustomCORSConfiguration{privateCorsConfigurationbuildConfig(){CorsConfigurationcorsCo
- docker安装Elasticsearch 6.2.2
WalkOnJoey
1.拉取镜像dockerpulldocker.elastic.co/elasticsearch/elasticsearch:6.2.22.启动容器,设置部分参数是为了支持跨域访问。dockerrun-d--nameelasticsearch-p9200:9200-p9300:9300-e"discovery.type=single-node"-ehttp.cors.enabled=true-eht
- GeoServer安装、集成mysql以及发布wfs服务
客服_86dc
说明:Geoserver是依赖于JRE的,所以可以安装JRE,也可以安装JDK,JDK自行安装下载。1.下载geoserver:地址:http://geoserver.org/release/2.17.1/下载完毕解压问题:现在已集成mysql数据库连接和GeoServer跨域访问开放,解决方式:1.跨域访问开放:a.找到Geoserver的配置文件b.修改配置文件,将跨域相关注释开放(可全局搜索
- SpringBoot 2.4.0 以上跨域设置
liudogn001
java
@ConfigurationpublicclassCorsConfigurerimplementsWebMvcConfigurer{@OverridepublicvoidaddCorsMappings(CorsRegistryregistry){//所有请求地址,都支持跨域访问registry.addMapping("/**")//放行哪些原始域.allowedOriginPatterns("*"
- 复习jsonp和promise
77_dac7
一.jsonp1.jsonp是跨域访问api,ajax不能跨域2.在vue中使用jsonp首先要安装jsonp的接口3.因为option选项一般不用配置所以重新封装了一下jsonp函数jsonp.js返回的数据二.promisevue中的promise1.什么是回调函数回调函数(callback)是什么?-知乎2.java中的newThread异步操作和4种异步池3.promiseJavascri
- jeesite免登陆,及vue跨域访问jeeSite项目设置
程序员不是狗
一、jeeSite4.0以上版本1.springMVC使用注解@CrossOrigin(origins=“*”,maxAge=3600)1)导入importorg.springframework.web.bind.annotation.CrossOrigin;2)方法必须声明使用什么请求方式列如@RequestMapping(value={"/sss"},method=RequestMethod.
- 《WebKit 技术内幕》学习之十二(1):安全机制
jyl_sh
webkit安全前端C/C++内核编程浏览器
第12章安全机制安全机制对于浏览器和渲染引擎来说至关重要。一个不考虑安全机制的HTML5规范体系肯定不会受到广泛地使用,同时一个不安全的浏览器也不会得到广大用户的青睐。本章介绍的安全机制分成两个不同的部分,第一个部分是网页的安全,包括但是不限于网页数据安全传输、跨域访问、用户数据安全等。第二个部分是浏览器的安全,具体是指虽然网页或者JavaScript代码有一些安全问题或者存在安全漏洞,浏览器也能
- C# ASP.NET MVC 配置 跨域访问
乱蜂朝王
C#c#asp.netmvc
在web.config文件中的system.webServer节点下增加如下配置
- ssm项目解决AJAX跨域,ssm项目跨域访问
spRachel雷切爾
ssm项目解决AJAX跨域
最近使用ssm开发了一个项目,为了项目的开发速度,采用的是前后端同时开发,所以前端文件没有集成在项目中,最后在调试时涉及到了跨域。跨域的解决方法很多,我采用的是最简单的一种,代码如下:新建一个过滤器filterpackagecom.xxxx.xxxxx;importjavax.servlet.*;importjavax.servlet.http.HttpServletResponse;import
- php 跨域 session,thinkphp中session跨域问题解决
nnllc
php跨域session
本地使用,一切正常;后端项目和前端项目都部署到服务器,一切正常;后端项目部署到服务器,并设置允许跨域访问后,本地前端项目使用服务器上后端项目接口时,问题来了:首先,使用postman测试获取图片验证码接口和验证图片验证码接口,正常。然后,在html中使用获取图片验证码接口,正常;最后,在JS中使用验证图片验证码接口,出错!!!分析通过问题描述,我们看出,问题出现在跨域上。那么,有两种可能,一种是因
- angularjs携带cookie跨域请求
TJkaklf
javaangularjs跨域访问携带cookiejsonp
B.com下的前端跨域访问A.com下的服务:客户端:return$http.get('http://A.com:8070/micro/sql/run/'+id+'?sql='+sql,{withCredentials:true});withCredentials:true;服务端:res.setHeader("Access-Control-Allow-Origin","http://B.com:
- 浏览器跨域: jsonp,cors跨域,postMessage,nginx代理扩展: cookie,单点登录
今天我退休了吗
前端java前端javascript
浏览器同源策略:协议(protocol)、主机名(host)、端口(port)跨域访问不受限制:跨域解决方式:一、jsonp通常为了减轻web服务器的负载,我们把js、css,img等静态资源分离到另一台独立域名的服务器上,在html页面中再通过相应的标签从不同域名下加载静态资源,而被浏览器允许,基于此原理,我们可以通过动态创建script,再请求一个带参网址实现跨域通信。通过script标签,s
- 通过设置P3P头来实现跨域访问COOKIE
gftygff
转载:http://blog.c114.net/html/38/193738-35549.htmlPassport一方面意味着用一个帐号可以在不同服务里登录,另一方面就是在一个服务里面登录后可以无障碍的漫游到其他服务里面去。坦白说,目前sohupassport在这一点实现的很烂(不过俺的工作就是要把它做好啦,hehe)搜狐的SSO需求比较麻烦,因为它旗下有好多域名:sohu.com、chinare
- 03-解决header(‘Access-Control-Allow-Origin:*‘)失效问题
七色的天空
01_bug回收站javascripthtml前端
bug介绍已经在所调用函数中,添加header('Access-Control-Allow-Origin:*');的前提下,报错:No'Access-Control-Allow-Origin'headerispresentontherequestedresource.bug分析出现此bug的情况主要有两种:1.axios的请求方式有问题2.跨域访问的设置项不全面bug解决针对第一种情况:找到axi
- 调用第三方接口跨域问题
又是取名的一天
前端
antdesignofreact如何跨域访问第三方网站接口_网站通过第三方网站连接服务器_咸鱼翻身不想当咸鱼的博客-CSDN博客
- 问题解决:跨域访问错误
dengjiayue
后端
今天做前端页面渲染的时候遇到一个问题,因为我使用的wsl开发,windows直接访问不了wsl中的文件,还要改其他配置没成功,索性就不改了,粘贴在桌面上用浏览器打开调试然后所有使用apifox通过测试的路径全部报错Ensure CORS response header values are validA cross-origin resource sharing (CORS) request wa
- php抓取iframe cookie,iframe 跨域访问session/cookie丢失问题解决方法
ji fi
php抓取iframecookie
今天因工作需要,在一个域名A的页面中,使用iframe包含另一个域名B的页面。在chrome,firefox测试一切正常。当测试到IE7时,发现域名B中的页面session失效,不能写入session。网上搜索后了解,因为IE有安全策略,限制页面不保存第三方cookie(当前访问域名A下的页面为第一方cookie,而域名B下的页面为第三方cookie)。虽然有安全策略限制,但我们可以引入P3P声明
- uniapp中为什么会出现跨域问题,如何解决
&ACE&
uni-app
在uniapp中,跨域问题通常是由于浏览器的同源策略引起的。同源策略要求请求的域名、协议、端口都必须一致,否则会产生跨域问题。解决跨域问题有以下几种方法:在后端服务器上配置跨域资源共享(CORS):在服务器端添加响应头信息,允许客户端(前端)跨域访问。具体配置可以参考后端框架的文档。使用代理服务器:在开发阶段,在config/index.js中配置代理服务器,将请求转发到目标服务器,这样就能避免跨
- 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