力扣1712.将数组分成三个子数组的方案数

力扣1712.将数组分成三个子数组的方案数

  • 确定左边界的值 然后二分求右边界的范围

    • 在这里插入图片描述

    • 右边界处的前缀和满足 2*s[i] <= s[r] <= (s[n] + s[i]) / 2

  •   int s[100010];
      const int N = 1e9+7;
      class Solution {
      public:
          int waysToSplit(vector<int>& nums) {
              int n = nums.size();
              int res=0;
              for(int i=1;i<=n;i++)
                  s[i] = s[i-1] + nums[i-1];
              for(int i=1;i<=n;i++)
              {
                  //返回的是指针 不能用int
                  //找到第一个>=2*s[i]的数
                  auto l = lower_bound(s+i+1,s+n,2*s[i]);
                  //找到第一个>(s[n] + s[i])/2的数
                  auto r = upper_bound(s+i+1,s+n,(s[n] + s[i])/2);
                  int sum = r - l;
                  if(sum > 0) res = (res + sum) %N;
              }
              return res;
          }
      };
    

相关推荐

  1. 2799.统计完全数目

    2024-06-10 16:12:04       36 阅读
  2. 2653.滑动美丽值

    2024-06-10 16:12:04       30 阅读
  3. _26—合并两有序数组

    2024-06-10 16:12:04       52 阅读
  4. -349. 两交集

    2024-06-10 16:12:04       29 阅读
  5. _30—有序数组转换为二叉搜索

    2024-06-10 16:12:04       42 阅读
  6. 数据结构与算法】 349. 两交集

    2024-06-10 16:12:04       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-10 16:12:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-10 16:12:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-10 16:12:04       82 阅读
  4. Python语言-面向对象

    2024-06-10 16:12:04       91 阅读

热门阅读

  1. 6_1 Linux 用户管理

    2024-06-10 16:12:04       28 阅读
  2. Migrate a WordPress database using MariaDB to another server

    2024-06-10 16:12:04       32 阅读
  3. Linux

    2024-06-10 16:12:04       36 阅读
  4. K8s 集群高可用master节点ETCD全部挂掉如何恢复?

    2024-06-10 16:12:04       35 阅读
  5. 大模型与知识图谱

    2024-06-10 16:12:04       33 阅读
  6. LeetCode 41. First Missing Positive

    2024-06-10 16:12:04       36 阅读
  7. 能打印出一条虚线的程序

    2024-06-10 16:12:04       34 阅读
  8. RLHF(从人类反馈中进行强化学习)详解(四)

    2024-06-10 16:12:04       31 阅读
  9. 69. Sqrt(x)

    2024-06-10 16:12:04       28 阅读