915. 分割数组-动态规划算法

2023-10-27

915. 分割数组-动态规划算法

给定一个数组 nums ,将其划分为两个连续子数组 left 和 right, 使得:

left 中的每个元素都小于或等于 right 中的每个元素。
left 和 right 都是非空的。
left 的长度要尽可能小。

在完成这样的分组后返回 left 的 长度 。

用例可以保证存在这样的划分方法。

示例 1:

输入:nums = [5,0,3,8,6]
输出:3
解释:left = [5,0,3],right = [8,6]

示例 2:

输入:nums = [1,1,1,0,6,12]
输出:4
解释:left = [1,1,1,0],right = [6,12]

int partitionDisjoint(int* nums, int numsSize){
    int rmax[numsSize];
    int rmin[numsSize];
    int max=nums[0];
    rmax[0]=max;
    for(int i=1;i<numsSize;i++){
        if(max<nums[i]){
            max=nums[i];
        }
        rmax[i]=max;
    }
    rmin[numsSize-1]=nums[numsSize-1];
    int min=nums[numsSize-1];

     for(int i=numsSize-2;i>=0;i--){
        if(min>nums[i]){
            min=nums[i];
        }
        rmin[i]=min;
    }
    for(int i=0;i<numsSize-1;i++){
        if(rmax[i]<=rmin[i+1]){
            return i+1;
        }
    }
    return numsSize;

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

915. 分割数组-动态规划算法 的相关文章

随机推荐

  • 配置基于域名的虚拟主机

    1 安装好apache之后 修改http conf文件 去掉Include conf extra httpd vhosts conf前的 Require all denied 改成 Require all granted 2 打开conf
  • 计算机网络-应用层

    应用层 应用层协议定义了运行在不同端系统上的应用程序进程如何相互传递报文 应用 Web 文件传输FTP 远程登录 电子邮件 域名 统一资源定位符URL 域名 由一串用 分隔的名字组成的Internet上某一台计算机或计算机组的名称 www
  • Unity TMP/Test 自适应文本

    Unity TMP Test 自适应文本 注意 Text组件 直接把脚本中所有的TextMeshProUGUI改为Text即可 TMP using System Collections using System Collections Ge
  • 对话OpenSea联创Alex:我们仍然只触及到NFT能力的冰山一角

    OpenSea是世界上最大的NFT交易市场 也是NFT行业爆发的最大赢家之一 但去年年底以来面临着被批不重视社区 中心化 竞争加剧等问题 近日 斯坦福大学加密团体Crypto Stanford对OpenSea的联合创始人兼前首席技术官 斯坦
  • C++构造函数的三种写法

    C 构造函数的三种写法 1 C 规定 对象的成员变量的初始化动作发生在进入构造函数本体之前 也就是说采用初始化列表的话 构造函数本体实际上不需要有任何操作 因此效率更高 关联 1 C 可以使用 小括号 大括号 直接赋值 并且 兼容了 C风格
  • C++ 将十进制数转换为二进制数方法

    本文介绍一种将十进制数转换为二进制数的方式 实现要点 1 用数组来存储每次对2取余的结果 2 两次使用for循环 分别进行转换和输出 3 取模运算 include
  • 【千律】OpenCV基础:图像外接矩形、最小外接矩形、凸包、外接圆、拟合椭圆的绘制

    环境 Python3 8 和 OpenCV 内容 图像外接矩形 最小外接矩形 凸包 外接圆 拟合椭圆的绘制 import cv2 as cv import numpy as np import matplotlib pyplot as pl
  • 显示iPhone已停用,连接iTunes 时,如何解锁又能保留数据

    本人手机是 iphone6 plus 因荧屏坏了无法使用 但主板没坏 只是看不到内容 所以不小心点到解锁界面太多次导致停用了 无可奈何去修完回来以后 才对手机进行了恢复停机的操作 首先 需要一台电脑 并安装了 iTunes 软件 手机先关机
  • 从零开始学习JavaScript:轻松掌握编程语言的核心技能①

    从零开始学习JavaScript 轻松掌握编程语言的核心技能 一 JavaScript 简介 为什么学习 JavaScript JavaScript 用法 二 JavaScript 输出 JavaScript 显示数据 JavaScript
  • linux时间校准步骤记录

    记录一下校准时间操作的执行步骤 首先使用 date 查看当前时间是否准确 校准时间命令 ntpdate cn pool ntp org 如果没有权限 sudo i 会出现输入密码 直接输入密码即可 再次执行校准时间操作命令 ntpdate
  • qt TCP接收数据遇到的问题

    项目负责利用TCP来传输一组大的数据 然后在接收函数里将接收的数组进行解包赋值 从结果来看发现解包出来的数据都是错误的 几乎都是随机并且好几个值是负无穷 这里就发现了QT的TCP传输机制 它将我的数据分两次接收 每一次是原来的一半 例如我传
  • 98. Validate Binary Search Tree 解题记录

    题目描述 Given a binary tree determine if it is a valid binary search tree BST Assume a BST is defined as follows The left s
  • 基于 session 和基于 token 的用户认证方式到底该如何选择

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 现在貌似大多数网站用户认证都是基于 session 的 即在服务端生成用户相关的 session 数据 而发给客户端 sesssion id 存放到 cookie 中 这样
  • beyond compare使用

    灰色 在自己定义的比较标准下比较 完全相同 红色 在自己定义的比较标准下比较 不相同 蓝色 在自己定义的比较标准下 蓝色的文件为多出来的文件 2012 10 15
  • 微信小程序quickstartFunctions中云函数的应用

    1 在quickstartFunctions文件中新建文件夹和文件 2 index js 文件书写 const cloud require wx server sdk cloud init env cloud DYNAMIC CURRENT
  • dbeaver导出建表语句_常用SQL语句(时常修改)

    咱们在开发中有很多的sql 是不好写的 写完了 还总容易出问题 所以从现在开始总结 这些SQL语句 2019 01 09更新 这个问题是因为做设计的时候忘了数据的唯一的问题 导致数据出现重复 查询的时候出现了查询的selectOne变成se
  • Sencha的Eclipse插件提示和技巧

    原文 http www sencha com blog sencha eclipse plugin tips tricks Sencha的Eclipse插件是一个完整的用于流行的Eclipse IDE的代码辅助和验证插件 有了该插件 就可以
  • lol数据英雄联盟接口LOL接口电竞api开发比分网分享@

    英雄联盟数据LOL接口电竞api开发比分网分享 TOC 数据来自marz数据alan marzesport com 各大赛区的lol数据都有 1 获取赛事 接口 host1 api series 9870 示例 赛事相关接口 begin a
  • Vmware虚拟机网络模式原理及配置详解

    概述 VMware为我们提供了三种网络工作模式 它们分别是 bridged 桥接模式 host only 仅主机模式 nat 网络地址转换模式 打开VMware Workstation 我们可以在选项栏的 编辑 下的 虚拟网络编辑器 中看到
  • 915. 分割数组-动态规划算法

    915 分割数组 动态规划算法 给定一个数组 nums 将其划分为两个连续子数组 left 和 right 使得 left 中的每个元素都小于或等于 right 中的每个元素 left 和 right 都是非空的 left 的长度要尽可能小