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

Leetcode 3698. Split Array With Minimum Difference

  • Leetcode 3698. Split Array With Minimum Difference
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3698. Split Array With Minimum Difference

1. 解题思路

这一题思路上就是一个分类讨论。

要想要分成左右两个递增和递减数列,我们首先需要从左往右以及从右往左分别考察最长的递增以及递减序列的长度。

如果两者无法组成完整的数组,那么必然不可分,否则则有两种情况。一种情况是两者没有交叉,此时只有一种分法,直接返回结果即可;第二种情况就是两者共享一个最大的元素,此时有两种分法,我们分别求出其结果然后返回最大值即可。

2. 代码实现

给出python代码实现如下:

class Solution:def splitArray(self, nums: List[int]) -> int:n = len(nums)l = 0while l < n-1 and nums[l] < nums[l+1]:l += 1r = n-1while r > 0 and nums[r] < nums[r-1]:r -= 1if r-l > 1:return -1elif r-l == 1:return abs(sum(nums[:r]) - sum(nums[r:]))else:return min(abs(sum(nums[:r]) - sum(nums[r:])), abs(sum(nums[:r+1]) - sum(nums[r+1:])))

提交代码评测得到:耗时73ms,占用内存30.68MB。

http://www.dtcms.com/a/441978.html

相关文章:

  • mysql学习--日志查询
  • 北京做网站哪家强网站被k如何恢复
  • Redis的零食盒满了怎么办?详解缓存淘汰策略
  • display mac-address vlan vlan-id 概念及题目
  • 国内十大网站建设广州11个区排名
  • windows远程桌面连接的时候用户名用什么
  • Webpack实战笔记:从自动构建到本地服务器搭建的完整流程
  • SpringBoot + MongoDB全栈实战:从架构原理到AI集成
  • 台山网站建设公司申请云应用wordpress
  • 小迪安全v2023学习笔记(九十五讲)—— 云原生篇Docker安全权限环境检测容器逃逸特权模式危险挂载
  • 从零开始的C++学习生活 1:命名空间,缺省函数,函数重载,引用,内联函数
  • react源码
  • 怎么用记事本做钓鱼网站如何做外贸电商
  • 【自学笔记】Redis 快速入门(下篇)
  • 微信网站怎么开发东莞品牌营销型网站建设
  • 在QT中实现线程暂停
  • vivado自定义IP显示只读解决办法
  • 当 AI 走进图像编辑:Bing 照片编辑器的实用价值与体验观察
  • Java Linux --- 基本命令,部署Java web程序到线上访问
  • 天安云谷网站建设企业邮箱忘记密码怎么找回
  • SQL 多表查询场景速查:一对一、一对多、多对多
  • 从 0 到 1 搭建 Python 语言 Web UI自动化测试学习系列 7--基础知识 3--常用函数 1
  • Amazon S3 Vectors:向量存储、索引与多亚马逊云科技服务协同的智能桥梁解决方案
  • 第二章 prompt思维链
  • 大模型面经(一) Prompt + RAG + 微调
  • 第一章——了解prompt以及一些基础技巧方法
  • 做牛津布面料在哪个网站找客户找人一起做素材网站
  • 土豆家族工具使用适配表格大全【windows提权】
  • PyQt5 QPushButton组件详解:按钮控件的完整指南
  • Linux中do_wait函数的实现