后缀表达式

简介: 后缀表达式

1、问题

给定N个加号、M个减号以及N+M+1个整数A1,A2,A3... ,AN+M+1,小明想知道在所有由这N个加号、M个减号以及N+M+1个整数凑出的合法的后缀表达式中,结果最大的是哪一个?请你输出这个最大的结果。
例如使用1 2 3 + -.则“2 3 + 1 -"这个后缀表达式结果是4,是最大的。


2、方法

首先,根据题目的要求可知,所有的计算都是按照运算符号出现的顺序,从左往右进行的,而后缀表达式是将运算符号放在两数之后,然后,可以先确定减号的数量,如果m=0,就是将所有数相加,如果m>0,需要分成三类来讨论,当数据全为负数时,就是加上最大的数,减去剩下的数字,当数据全为正数时,就是减去最小的数,加上剩余的数,当数据有正数也有负数时,最后的最大值就等于所有数的绝对值之和。


3、实验结果与讨论

通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。

代码清单 1

n,m=map(int,input().split())
nums=list(map(int,input().split()))
nums.sort()
if m==0:
     result=sum(nums)
else:
     if nums[0]>0:
           result=sum(nums[1:len(nums)])-nums[0]
     elif nums[-1]<0:
           result=sum(nums[0:len(nums)-1])*(-1)+nums[-1]
     else:
           absnums=[abs(x) for x in nums]
           result=sum(absnums)
print(result)


4、结语

针对后缀表达式问题,提出先分析再分类讨论方法,通过实验,证明该方法是有效的,当然也会存在其他的解决方法,但是对于题目的解题思路,不仅能用于解决题目,更能在平常做事的解决思路。



目录
相关文章
|
开发框架 JavaScript 前端开发
使用 Node.js 和 Express 构建 Web 应用
【10月更文挑战第2天】使用 Node.js 和 Express 构建 Web 应用
|
分布式计算 关系型数据库 Ruby
crash命令 —— rd
crash命令 —— rd
ThreeJs模拟工厂生产过程七
这篇文章详细介绍了如何在Three.js中为工厂车间的货架动态生成并放置货物,通过循环逻辑和贴图应用使货架上的物品更加逼真,增强了场景的真实感。
160 0
|
消息中间件 监控 负载均衡
中间件RabbitMQ性能瓶颈
【7月更文挑战第13天】
807 11
|
JSON 算法 数据安全/隐私保护
聊聊 JSON Web Token (JWT) 和 jwcrypto 的使用
本文介绍了 JSON Web Token (JWT) 和 Python 中的 `jwcrypto` 库。JWT 是一种用于安全传输信息的紧凑型令牌,常用于身份验证。它由 Header、Payload 和 Signature 三部分组成,具有紧凑性、自包含和安全性等特点。`jwcrypto` 库提供了 JWT 的生成、验证、加密、解密及签名功能。通过该库,可以使用 RSA 等算法创建和验证 JWT,同时管理密钥对。安装 `jwcrypto` 可用 `pip install jwcrypto`,并示例展示了如何生成签名 JWT 和密钥对。
聊聊 JSON Web Token (JWT) 和 jwcrypto 的使用
|
机器学习/深度学习 并行计算 PyTorch
安装PyTorch详细步骤
安装PyTorch时,选择CPU或GPU版本。有Nvidia显卡需装CUDA和cuDNN,可从NVIDIA官网下载CUDA 11.8和对应版本cuDNN。无Nvidia显卡则安装CPU版。安装PyTorch通过conda或pip,GPU版指定`cu118`或`rocm5.4.2`镜像源。验证安装成功使用`torch._version_`和`torch.cuda.is_available()`。
|
XML JSON Java
Java POI Word07版插入图片并指定浮动位置
由于工作需要,又接触到了POI操作Word,以往只是简单的读取操作,这次是写入操作;
1564 1
Java POI  Word07版插入图片并指定浮动位置
【错题集-编程题】dd爱框框(同向双指针 / 滑动窗口)
【错题集-编程题】dd爱框框(同向双指针 / 滑动窗口)
|
XML JSON Java
java项目中使用protobuf扫盲笔记
最近公司 Java 项目中有用到 protobuf,查了些资料还是一脸迷茫。
|
安全 网络安全 数据安全/隐私保护
导致SSL证书无效的原因有哪些?
如果发现SSL证书失效,首先应该看看证书是不是已经过期。为了保障数据安全,实时验证网站身份真实性,SSL证书的有效期逐年缩短,目前各大浏览器支持的SSL证书有效期都不超过一年。如果发现证书已经过期,需要及时续签或者重新购买证书。
650 0
导致SSL证书无效的原因有哪些?