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

LeetCode::2270. 分割数组的方案数

2270. 分割数组的方案数

思路

             前缀和

提示

给你一个下标从 0 开始长度为 n 的整数数组 nums 。
如果以下描述为真,那么 nums 在下标 i 处有一个 合法的分割 :

  • 前 i + 1 个元素的和 大于等于 剩下的 n - i - 1 个元素的和。
  • 下标 i 的右边 至少有一个 元素,也就是说下标 i 满足 0 <= i < n - 1 。

请你返回 nums 中的 合法分割 方案数。

示例 1:

输入:nums = [10,4,-8,7]
输出:2
解释:
总共有 3 种不同的方案可以将 nums 分割成两个非空的部分:
- 在下标 0 处分割 nums 。那么第一部分为 [10] ,和为 10 。第二部分为 [4,-8,7] ,和为 3 。因为 10 >= 3 ,所以 i = 0 是一个合法的分割。
- 在下标 1 处分割 nums 。那么第一部分为 [10,4] ,和为 14 。第二部分为 [-8,7] ,和为 -1 。因为 14 >= -1 ,所以 i = 1 是一个合法的分割。
- 在下标 2 处分割 nums 。那么第一部分为 [10,4,-8] ,和为 6 。第二部分为 [7] ,和为 7 。因为 6 < 7 ,所以 i = 2 不是一个合法的分割。
所以 nums 中总共合法分割方案受为 2 。

示例 2:

输入:nums = [2,3,1,0]
输出:2
解释:
总共有 2 种 nums 的合法分割:
- 在下标 1 处分割 nums 。那么第一部分为 [2,3] ,和为 5 。第二部分为 [1,0] ,和为 1 。因为 5 >= 1 ,所以 i = 1 是一个合法的分割。
- 在下标 2 处分割 nums 。那么第一部分为 [2,3,1] ,和为 6 。第二部分为 [0] ,和为 0 。因为 6 >= 0 ,所以 i = 2 是一个合法的分割。
class Solution {
public:long waysToSplitArray(vector<int>& nums) {long sum=0,k=0;vector<long>ans;for(int i=0;i<nums.size();i++){sum+=nums[i];ans.push_back(sum);}for(int i=0;i<ans.size()-1;i++){if(ans[i]>=ans[ans.size()-1]-ans[i]){k++;}}return k;}
};

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

相关文章:

  • elementui表单验证,数据层级过深验证失效
  • 【Java】LinkedHashMap (LRU)淘汰缓存的使用
  • CancerGPT :基于大语言模型的罕见癌症药物对协同作用少样本预测研究
  • 《汽车维护与修理》是什么级别的期刊?是正规期刊吗?能评职称吗?
  • tomcat状态一直是Exited (1)
  • 消息中间件的基础概念入门
  • 基于Web的宠物医院看诊系统设计与实现(源码+定制+开发)在线预约平台、宠物病历管理、医生诊疗记录、宠物健康数据分析 宠物就诊预约、病历管理与健康分析
  • Excel数据叠加生成新DataFrame:操作指南与案例
  • Web 开发入门之旅:从静态页面到全栈应用的第一步
  • WebSocket实现分布式的不同方案对比
  • 基于注意力机制的端到端合成语音检测
  • MySQL NaviCat 安装及配置教程(Windows)【安装】
  • 微信小程序:播放音频
  • Ubuntu安装K8S
  • 独立同分布时,联合概率密度函数等于边缘概率密度函数乘积
  • 半导体数据分析: 玩转WM-811K Wafermap 数据集(三) AI 机器学习
  • 【.net core】【sqlsugar】时间查询示例
  • Kotlin 协程基础十 —— 协作、互斥锁与共享变量
  • Java中网络编程的学习
  • [计算机网络]一. 计算机网络概论第一部分
  • 【0393】Postgres内核 checkpointer process ③ 构建 WAL records 工作缓存区
  • 正则表达式基础知识及grep、sed、awk常用命令
  • redhat安装docker 24.0.7
  • 【excel】VBA简介(Visual Basic for Applications)
  • 【大厂面试AI算法题中的知识点】方向涉及:ML/DL/CV/NLP/大数据...本篇介绍为什么self-attention可以堆叠多层,这有什么作用?
  • NanoKVM简单开箱测评和拆解,让普通电脑实现BMC/IPMI远程管理功能
  • 【Idea】编译Spring源码 read timeout 问题
  • VSCode的配置与使用(C/C++)
  • SpringMVC (1)
  • 本地部署大模型—MiniCPM-V 2.0: 具备领先OCR和理解能力的高效端侧多模态大模型