当前位置: 首页 > news >正文

【python】最大的偶数

题目:

"""

给出一个由非负整数组成的序列 A =(A1,A2,A3,....,Av)。这个序列的长度为N判断是否存在一个偶数可以表示为在A中两个不同元素的和。若存在,找到最大的偶数,否则输出”-1”

序列A中的所有元素两两不同

所有的输入均为整数

"""

暴力解法:

 # 暴力解法

n = int(input())

A = list(map(int, input().split()))

A.sort()

max_even = -1

for i in range(n):

    for j in range(i + 1, n):

        if (A[i] + A[j]) % 2 == 0:

            max_even = max(max_even, A[i] + A[j])

print(max_even)

优化解法:

# 优化解法
def find_largest_even_sum(A):# 初始化最大的偶数和最大的奇数以及它们的次大值# 初始值设置为-1,以便在数组中找不到偶数或奇数时可以识别max_even = max_odd = second_max_even = second_max_odd = -1# 开始遍历整个数组A中的每个数字for number in A:# 如果当前数字是偶数if number % 2 == 0:# 检查是否需要更新最大的偶数或次大的偶数if number > max_even:# 如果当前数字大于最大的偶数,更新最大和次大偶数second_max_even, max_even = max_even, numberelif number > second_max_even:# 如果当前数字不是最大的,但大于次大的偶数,更新次大偶数second_max_even = number# 如果当前数字是奇数else:# 检查是否需要更新最大的奇数或次大的奇数if number > max_odd:# 如果当前数字大于最大的奇数,更新最大和次大奇数second_max_odd, max_odd = max_odd, numberelif number > second_max_odd:# 如果当前数字不是最大的,但大于次大的奇数,更新次大奇数second_max_odd = number# 计算可能的最大偶数和# 如果存在次大偶数,则计算最大偶数和次大偶数的和;否则设置为-1表示不存在偶数和largest_even_sum = max_even + second_max_even if second_max_even != -1 else -1# 计算可能的最大奇数和# 如果存在次大奇数,则计算最大奇数和次大奇数的和;否则设置为-1表示不存在奇数和largest_odd_sum = max_odd + second_max_odd if second_max_odd != -1 else -1# 返回两者中较大的一个,即可能的最大偶数和# 如果两者都是-1,则返回-1表示没有找到任何符合条件的偶数和return max(largest_even_sum, largest_odd_sum)n = int(input())
A = map(int, input().split())
print(find_largest_even_sum(A))  # 输出最大的偶数和或者-1

http://www.lryc.cn/news/221964.html

相关文章:

  • QT 实现两款自定义的温度计/湿度控件
  • Fourier分析导论——第4章——Fourier级数的一些应用(E.M. Stein R. Shakarchi)
  • c语言使用fdk_aac库对aac音频解码为pcm
  • zustand管理工具--React
  • Elasticsearch内存分析
  • Alert警告提示(antd-design组件库)简单使用
  • Linux提权方法总结
  • 力扣第300题 最长递增子序列 c++ 动态规划题 附Java代码
  • Si3262 集成低功耗SOC 三合一智能门锁应用芯片
  • linux rsyslog介绍
  • 项目部署之安装和配置Canal
  • 基于Skywalking的全链路跟踪实现
  • Spark Core
  • [算法日志]图论: 广度优先搜索(BFS)
  • Xilinx FPGA SPIx4 配置速度50M约束语句(Vivado开发环境)
  • Linux Shell和权限
  • Git同时配置Gitee和GitHub
  • IGP高级特性简要介绍(OSPF-上篇)
  • Oracle-Ogg集成模式降级为经典模式步骤
  • 链表面试OJ题(1)
  • [极客大挑战 2019]Upload 1
  • OpenFeign讲解+面试题
  • 嬴图 | LLM+Graph:大语言模型与图数据库技术的协同
  • 微信小程序下载文件和转发文件给好友总结
  • 一文掌握 Apache SkyWalking
  • 外贸网站优化常用流程和一些常识
  • Hive的时间操作函数
  • 【Web安全】CORS跨域资源共享漏洞
  • IntelliJ IDEA 如何修改默认Maven仓库地址
  • Vue3 <script setup>是什么?作用?