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

【leetcode】3201. 找出有效子序列的最大长度(1)

文章目录

    • 题目
    • 题解

题目

3201. 找出有效子序列的最大长度(1)

给你一个整数数组 nums。

nums 的子序列 sub 的长度为 x ,如果其满足以下条件,则称其为 有效子序列:

(sub[0] + sub[1]) % 2 == (sub[1] + sub[2]) % 2 == … == (sub[x - 2] + sub[x - 1]) % 2
返回 nums 的 最长的有效子序列 的长度。

一个 子序列 指的是从原数组中删除一些元素(也可以不删除任何元素),剩余元素保持原来顺序组成的新数组。

示例 1:

输入: nums = [1,2,3,4]

输出: 4

解释:

最长的有效子序列是 [1, 2, 3, 4]。

示例 2:

输入: nums = [1,2,1,1,2,1,2]

输出: 6

解释:

最长的有效子序列是 [1, 2, 1, 2, 1, 2]。

示例 3:

输入: nums = [1,3]

输出: 2

解释:

最长的有效子序列是 [1, 3]。

题解

class Solution(object):def maximumLength(self, nums):""":type nums: List[int]:rtype: int"""# 全偶,全奇,奇偶交替odd, even = 0, 0pre = nums[0]ans = 1for i in range(0, len(nums)):if nums[i] % 2:  # 子序列全为奇数odd += 1else:  # 子序列全为偶数even += 1# 模为1的情况,子序列奇偶交替的情况if i >= 1 and (nums[i] + pre) % 2 == 1:ans += 1pre = nums[i]return max(ans, odd, even)
http://www.dtcms.com/a/285959.html

相关文章:

  • PyCharm 高效入门指南(核心模块详解二)
  • RoboBrain 2.0(具身智能论文阅读)
  • 笔试——Day12
  • 阿里云alicloud liunux3-安装docker
  • Python编程进阶知识之第二课学习网络爬虫(selenium)
  • JavaScript进阶篇——第九章 异常、this 与性能优化全解(终)
  • 14.链路聚合技术
  • 量化交易如何查询CFD指数实时行情
  • postman接口测试,1个参数有好几个值的时候如何测试比较简单快速?
  • IP协议深入理解
  • 20250718-4-Kubernetes 应用程序生命周期管理-Pod对象:实现机制_笔记
  • 如何保证缓存数据的一致性:数据库和缓存数据一致性,本地缓存和Redis缓存怎么保证数据一致性
  • Netty封装Websocket并实现动态路由
  • Spring Boot 应用优雅停机与资源清理:深入理解关闭钩子
  • 比特币技术简史 第四章:挖矿机制 - 挖矿算法、难度调整与矿池
  • 在ajax中什么时候需要将返回值类型做转换
  • Excel基础:格式化
  • 产品需求文档(PRD)格式全解析:从 RP 到 Word 的选择与实践
  • 2023 年 3 月青少年软编等考 C 语言八级真题解析
  • 回归预测 | MATLAB实现DBO-BP蜣螂算法优化BP神经网络多输入单输出回归预测
  • 借助AI学习开源代码git0.7之三git-init-db
  • MyBatis-Flex代码生成
  • ARINC818协议详解
  • KRaft 角色状态设计模式:从状态理解 Raft
  • 美创科技建设项目被评为中国信通院医疗领域“磐安”优秀案例
  • A33-vstar报错记录:ERROR: build kernel Failed
  • 北京-4年功能测试2年空窗-报培训班学测开-第五十四天
  • (笔记+作业)第五期书生大模型实战营---L2G2000 GraphGen:训练数据合成实践
  • U盘运维笔记
  • 前端-CSS盒模型