数据结构与算法--这么多方案中min左部分累加和右部分累加和的最大值是多少

给定一个非负数组,长度为N.
那么有N-1种方案可以把arr分成两部分。
每一种方案都有 min{左部分累加和, 右部分累加和}
求这么多方案种min{左部分累加和, 右部分累加和}的最大值是多少?


public class Code_BestSplitForAll {public static void main(String[] args) {int N = 20;int max = 30;int testTime = 1000000;System.out.println("测试开始");int c = 0;for (int i = 0; i < testTime; i++) {c++;//System.out.println(i);int len = (int) (Math.random() * N);int[] arr = randomArray(len, max);int ans1 = bestSplit1(arr);int ans2 = bestSplit2(arr);if (ans1 != ans2) {System.out.println(ans1);System.out.println(ans2);System.out.println("Oops!");break;}else{System.out.println("equals");}}System.out.println("测试结束");System.out.println("c="+c);}public static int bestSplit1(int[] arr) {if(null == arr || arr.length == 0){return 0;}int N = arr.length;int ans = 0;for (int i = 0; i < N; i++) {int sumL = 0;for (int j = 0; j <= i; j++) {sumL += arr[j];}int sumR = 0;for (int j = i+1; j < N; j++) {sumR += arr[j];}ans = Math.max(ans, Math.min(sumL,sumR));}return ans;}public static int bestSplit2(int[] arr) {if(null == arr || arr.length == 0){return 0;}int N = arr.length;int ans = 0;int sum = 0;for (int i = 0; i < N; i++) {sum += arr[i];}int sumL = 0;int sumR = 0;for (int i = 0; i < N; i++) {sumL += arr[i];sumR = sum - sumL;ans = Math.max(ans, Math.min(sumL,sumR));}return ans;}public static int[] randomArray(int len, int max) {int[] ans = new int[len];for (int i = 0; i < len; i++) {ans[i] = (int) (Math.random() * max);}return ans;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/12348.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

如何管理好自己的LabVIEW项目

在LabVIEW项目开发中&#xff0c;项目管理对于提高开发效率、确保项目质量、减少错误和维护成本至关重要。以下从项目规划、代码管理、测试与调试、版本控制、团队协作等方面&#xff0c;分享LabVIEW项目管理的体会。 ​ 1. 项目规划与需求分析 关键步骤&#xff1a; 需求分析…

51c自动驾驶~合集10

我自己的原文哦~ https://blog.51cto.com/whaosoft/11638131 #端到端任务 说起端到端&#xff0c;每个从业者可能都觉得会是下一代自动驾驶量产方案绕不开的点&#xff01;特斯拉率先吹响了方案更新的号角&#xff0c;无论是完全端到端&#xff0c;还是专注于planner的模型&a…

vs2022搭建opencv开发环境

1 下载OpenCV库 https://opencv.org/ 下载对应版本然后进行安装 将bin目录添加到系统环境变量opencv\build\x64\vc16\bin 复制该路径 打开高级设置添加环境变量 vs2022新建一个空项目 修改属性添加头文件路径和库路径 修改链接器&#xff0c;将OpenCV中lib库里的o…

蓝牙音响音频功放:【矽源特HAA9809 AB+D类自动切换】

目录 1&#xff1a;HAA9809特性 2&#xff1a;典型应用电路 3&#xff1a;CTRL管脚控制信息 4&#xff1a;一线脉冲控制方式 5&#xff1a;输入电阻&#xff0c;调节放大增益 6&#xff1a;输入电容&#xff0c;调节频响 7&#xff1a;总结 矽源特ChipSourceTek-HAA9809…

大语言模型安全,到底是什么的安全

什么是AI安全 自ChatGPT问世以来&#xff0c;市场上涌现出了众多大型语言模型和多样化的AI应用。这些应用和模型在为我们的生活带来便利的同时&#xff0c;也不可避免地面临着安全挑战。AI安全&#xff0c;即人工智能安全&#xff0c;涉及在人工智能系统的开发、部署和使用全过…

云岚到家 秒杀抢购

目录 秒杀抢购业务特点 常用技术方案 抢券 抢券界面 进行抢券 我的优惠券列表 活动查询 系统设计 活动查询分析 活动查询界面显示了哪些数据&#xff1f; 面向高并发如何提高活动查询性能&#xff1f; 如何保证缓存一致性&#xff1f; 数据流 Redis数据结构设计 如…

餐饮点餐系统(2)

今天我们继续完成我们的项目&#xff0c;本次的目标是为每一个分支选项&#xff0c;创建菜单。 分析&#xff1a;1.首先我们要为每一个分支选项创建一个函数 2.其次是调用我们创建的函数 3.最后创建的自定义函数中会用到&#xff0c;while语句&#xff0c;switch语句&#xff…

某军工变压器企业:通过集团级工业IOT平台,实现数字化转型

概述 近年来&#xff0c;随着全球电力需求的增长和智能电网的推进&#xff0c;变压器市场规模持续扩大。2023年&#xff0c;全球配电变压器市场规模达到143.21亿美元&#xff0c;同比增长8.12%。中国配电变压器市场规模在2023年达到194.35亿元&#xff0c;同比增长14.53%‌。此…

caozha-CEPCS(新冠肺炎疫情防控系统)

caozha-CEPCS&#xff0c;是一个基于PHP开发的新冠肺炎疫情防控系统&#xff0c;CEPCS&#xff08;全称&#xff1a;COVID-19 Epidemic Prevention and Control System&#xff09;&#xff0c;可以应用于单位、企业、学校、工业园区、村落等等。小小系统&#xff0c;希望能为大…

第8章利用CSS制作导航菜单

8.1 水平顶部导航栏 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title></head><body><center><h3>简单水平菜单导航栏</h3></center><hr /><nav><ul&g…

《青牛科技GC6150:摇头机驱动芯片的卓越替代品,超越 TMI8150》

在终端工程师们精心打造的科技世界里&#xff0c;摇头机的性能优化一直是关注焦点。今天&#xff0c;我们要向各位终端工程师介绍一款具有革命性的驱动芯片 —— 芯麦 GC6150&#xff0c;它宛如一颗耀眼的明星&#xff0c;在摇头机驱动领域绽放光芒&#xff0c;并且能够完美替代…

C++转义序列

\b \b是一个退格符&#xff08;backspace character&#xff09;&#xff0c;它的作用是将光标向左移动一个位置&#xff0c;但并不会删除光标位置上的字符。这个行为在某些情况下可能会导致视觉上的字符“消失”&#xff0c;但实际上这些字符仍然存在于输出缓冲区中&#xf…

Chrome DevTools Protocol 入门:快速开始

Chrome DevTools Protocol&#xff08;CDP&#xff09; 是一套开放协议&#xff0c;允许外部程序通过 Chrome 浏览器提供的接口与其进行交互。CDP 提供了丰富的功能&#xff0c;使开发者可以远程控制 Chrome 浏览器&#xff0c;包括操作 DOM、监控网络请求、调试代码、截取屏幕…

TCP协议详解

一、整体抓包情况 192.168.111.1:53965请求向192.168.111.128:80发起TCP连接。 注意&#xff1a;TCP连接是TCP端口向TCP端口的连接。 二、TCP连接请求&#xff08;三次握手&#xff09; 此处为简洁隐去端口号。 &#xff08;1&#xff09;192.168.111.1——>192.168.11…

vue+Springboot实现简单文件上传到本地

实现效果 点击上传文件按钮后&#xff0c;选择需要上传的文件&#xff0c;如果是图片的话&#xff0c;上传成功后可以直接在下面预览。 前端页面 <template><div class"file-upload"><el-upload:headers"getUploadConfig(token).headers"…

闯关leetcode——3206. Alternating Groups I

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/alternating-groups-i/description/ 内容 There is a circle of red and blue tiles. You are given an array of integers colors. The color of tile i is represented by colors[i]: colors[i…

QT Unknown module(s) in QT 以及maintenance tool的更详细用法(qt6.6.0)

不小心接了同事的委托&#xff0c;帮改一个qt的工程代码。然后出事了&#xff0c;那个proj是qt5.9版本的吧&#xff0c;搞到6.6版本的环境中各种问题。至少有3个是这样的&#xff1a; :-1: error: Unknown module(s) in QT: multimedia 直接百度&#xff0c;好像很简单&#x…

Springboot苍穹外卖实战:四、分页查询(PageHelper实现、日期格式转换)

分页查询 使用PageHelper插件实现。其实可以升级为MybatisPlus的。 接口设计 设计DTO类 com.sky.dto.EmployeePageQueryDTO 已设计好&#xff0c;为EmployeePageQueryDTO&#xff1b; 封装PageResult com.sky.result.PageResult com.sky.result.Result 已封装好&#xff0…

0x00基础算法 -- 0x03 前缀和与差分

1、前缀和 对于一个给定的数组A&#xff0c;它的前缀和数列S是通过递推求得的&#xff1a;//A[]和S[]的有效数据从下标1开始&#xff0c;方便后续计算 s[0] 0; for (int i 1; i < n; i) {s[i] s[i - 1] A[i]; } 作用&#xff1a;用于快速求得某一部分的和&#xff1a;对…

四焦距聚焦型光场计算成像系统的设计

摘要: 光场相机是一种在图像传感器前增加微透镜阵列的新型相机结构&#xff0c;除了记录不同位置下光的强度及颜色外&#xff0c;也记录不同位置下光线的方向信息&#xff0c;从而能够计算目标场景的深度图和高阶相位图。该技术由于景深和分辨率相互制约&#xff0c;获得大景深…