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

自动优化网站软件没有了vs简易新闻建设网站

自动优化网站软件没有了,vs简易新闻建设网站,甜品网站模板代码,注册公司一般流程大家好#xff0c;我是晴天学长#xff0c; 一个找连续子数组最大和的变形题#xff0c;需要的小伙伴可以关注支持一下哦#xff01;后续会继续更新的。#x1f4aa;#x1f4aa;#x1f4aa; 1) .环形数组的连续子数组的最大和 描述 给定一个长度为 nn 的环形整数数组我是晴天学长 一个找连续子数组最大和的变形题需要的小伙伴可以关注支持一下哦后续会继续更新的。 1) .环形数组的连续子数组的最大和 描述 给定一个长度为 nn 的环形整数数组请你求出该数组的 非空 连续子数组 的最大可能和 。 环形数组 意味着数组的末端将会与开头相连呈环状。例如对于数组 [1,3,-5,2,-4][1,3,−5,2,−4]而言第一个数 11的前一个数是最后一个数 -4−4。 输入描述 第一行输入一个正整数 nn 代表数组的长度。 第二行为 nn 个整数 ai 输出描述 输出一个整数为原数组的非空子数组的最大可能和。 示例1 输入 3 5 -3 5 输出 10 说明 从子数组 [5,5] 得到最大和 5 5 10 示例2 输入 4 3 -2 2 -3 输出 3 说明 从子数组 [3] 和 [3,-2,2] 都可以得到最大和 3 2) .算法思路 两种情况首位相连的和首位不相连的首尾相连的可以算最小的连续子数组得出sum-就是。注意整个数组都是最小的情况。 3算法步骤 1.读取输入数据包括环形数组的长度n和数组中的元素。 2.初始化变量sum为数组中所有元素的和。 3.创建两个数组dpmin和dpmax用于记录以当前位置为结束点的最小和最大连续子数组的和。 4.初始化dpmin和dpmax的第一个元素为数组的第一个元素。 5.初始化变量max为dpmax的第一个元素变量min为dpmin的第一个元素。 6.遍历数组从第二个元素开始 1更新dpmax[i]为当前元素nums[i]和nums[i]加上dpmax[i-1]的较大值。 2更新max为dpmax数组中的最大值。 7.遍历数组从第二个元素开始 1更新dpmin[i]为当前元素nums[i]和nums[i]加上dpmin[i-1]的较小值。 2更新min为dpmin数组中的最小值。 8.根据sum和min的比较结果判断环形数组是否包含整个数组。 1如果sum等于min则环形数组包含整个数组。将max作为结果。 2否则用sum减去min的结果与max比较取较大值作为结果。 9.输出结果。 4. 代码实例 package NiukeTest.动态规划;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter;// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class 环形数组的连续子数组最大值 {static BufferedReader in new BufferedReader(new InputStreamReader(System.in));static PrintWriter out new PrintWriter(new OutputStreamWriter(System.out));static String[] lines;public static void main(String[] args) throws IOException {lines in.readLine().split( );int n Integer.parseInt(lines[0]);int[] nums new int[n];long sum 0;lines in.readLine().split( );for (int i 0; i n; i) {nums[i] Integer.parseInt(lines[i]);sum nums[i];}// 两种情况首位相连的和首位不相连的// 首尾相连的可以算最小的连续子数组得出sum-就是。int[] dpmin new int[n];int[] dpmax new int[n];dpmin[0] nums[0];dpmax[0] nums[0];long max dpmax[0];long min dpmin[0];for (int i 1; i n; i) {dpmax[i] Math.max(nums[i], nums[i] dpmax[i - 1]);max Math.max(max, dpmax[i]);}for (int i 1; i n; i) {dpmin[i] Math.min(nums[i], nums[i] dpmin[i - 1]);min Math.min(min, dpmin[i]);}long result;if (sum min) {result max;} else {result Math.max(max, sum - min);}out.println(result);out.flush();out.close();} } 5. 总结 动规的状态分析很重要开几个状态是关键。 试题链接
http://www.yutouwan.com/news/360152/

相关文章:

  • 广州找工作哪个网站好网站开发案例教程
  • 开发网站app公司二手建筑铝模板哪里有卖
  • 做网站与网店运营云南网站推广优化
  • 上海自助建站官网自己如何建设个网站
  • 网站建设公司怀化wordpress 中文开发
  • 颍上县建设局网站郑州做网站公司有哪些
  • 如何实现网站开发手机验证码数字营销理论
  • 长沙网站推广和优化手机免费制作logo
  • 怎样搭建一个个人网站欧宇公司网络建设方案
  • 三网站合一怎样进入拼多多平台卖东西
  • 深圳网站建设做一个公司网站要多少钱免费阅读小说大全下载
  • 网站备案照片二级建造师兼职网
  • 高端网站设计简介大城县企业网站建设
  • js 做网站域名购买后怎么使用
  • 中山做外贸网站建设模拟网站开发
  • 郓城建设局网站深圳电力建设公司网站
  • wap网站 什么意思建设公司官方网站
  • 吉安律师网站建设一般网站用什么技术做的
  • 企业 网站 制作室内设计师前景怎么样
  • wordpress怎么编辑页面搜索引擎网站推广如何优化
  • 中国最大的家装网站株洲seo网站优化软件
  • wordpress底部固定按钮精准网站seo诊断报告
  • 企业展示网站模板免费下载wordpress 登录 刷新
  • 淘宝网页版消息在哪里网站网页优化
  • 做cpa用什么类型的网站好google 网站推广
  • 钓鱼网站网址网页美工设计素材
  • 麓谷网站建设公司财务管理专业简历制作
  • 安装Wordpress的免费空间东莞宣布优化防疫措施
  • 做慧聪网价格网站价格腾讯服务器租用
  • 小城镇建设投稿网站西安移动网站建设