第一步,先将求和部分写出来

 1 public class shuzu {
 2   public static int maxSum(int arr[]){  //定义一个函数maxSum 求数组中子数组和的最大值
 3          int sum = arr[0];   //sum 子数组和
 4          int b = 0;
 5          for(int i = 0;i<arr.length;i++)
 6          {
 7              if(b<=0)  //子数组和小于0时,b为子数组为0时的元素的后一位
 8              { b=arr[i]; }
 9              else
10                  {b+=arr[i]; } //b 子数组和
11                    if(b>sum)sum=b;  //将最大子数组和赋值给sum
12          }
13          return         sum;
14      }  

数组和

第二步,想方法使子数组可以在原数组基础上首尾相连,这里采用取余的办法。

public static void main(String[] args) {  System.out.println("请输入数组中元素个数;");Scanner reader=new Scanner(System.in);int n=reader.nextInt();int []array=new int[n];int []array1=new int[n];System.out.println("请输入数组:");for(int i=0;i<n;i++)    //输入数组
         {array[i]=reader.nextInt();} int sum = maxSum(array);   //调用函数for(int i=1;i<n;i++)       //循环n-1次,从第二个数往后依次作为数组第一个数
         {for(int j=0;j<n;j++)  //通过取余保证数组首尾相接
          {array1[j]=array[(j+i)%n];}int sum1= maxSum(array1);   //调用函数if(sum1>sum)      //取每个数组子数组最大值
           {sum=sum1;}}System.out.println("最大字数组之和为:"+sum);  }
}

首尾相连

转载于:https://www.cnblogs.com/yeshenfeng/p/10600920.html

个人作业--数组之首尾相连相关推荐

  1. 二维数组最大值首尾相连

    题目要求: 返回一个整数数组中最大子数组的和. 输入一个整形数组,数组里有正数也有负数. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 如果数组A[0]--A[j-1]首尾相邻,允 ...

  2. 判断字符串数组能否首尾相连

    题目详情:给定一组字符串,判断这些字符串能否首尾相连,即前面一个字符串的最后一个字母和紧跟着的字符串的第一个字母相同. 例如,给定arr[][] = {"gj","jl& ...

  3. 圆桌问题(数据结构作业+数组和链表)(1024程序员不容易,这次给源码)

    文章目录 问题描述 输入说明 输出说明 输入范例 输出范例 题目分析 问题重点 思路分析 源码 事故现场 关于走路有点弄混了,分不清步数了 第一次提交 第二次提交 第三次提交 第四次提交 分析与总结 ...

  4. Java数组初始化, 冒泡排序, 查找

    文章目录 数组快速入门 数组的使用 使用方式1 动态初始化 使用方式2 动态初始化 使用方式3 静态初始化 数组使用注意事项和细节 数组赋值机制 数组翻转 数组扩容 排序的介绍 冒泡排序法 数组的查找 ...

  5. python qsub是啥意思_python – 使用qsub提交连续和独立作业的速度有多快?

    这个问题与 pbs job no output when busy有关.即我提交的一些工作在PBS / Torque"忙"时不产生输出.我想,当一个接一个地提交许多工作时,它更加繁 ...

  6. Java基础+流程控制+方法+数组【笔记含代码】

    文章目录 什么是计算机 计算机硬件 计算机软件 DOS命令 计算机语言发展史 第一代语言 第二代语言 第三代语言 Java帝国的诞生 C & C++ 反抗 Java初生 Java发展 Java ...

  7. slurm作业提交系统常用命令

    常用术语 user:用户名 node:计算节点 core:cpu 核 job:作业 job step:作业步,单个作业可以有多个作业步 partition:分区,作业需在特定分区中运行 QOS:服务质 ...

  8. 常用Slurm作业投递及查询命令

    1. 集群常用概念 job step: 作业步,单个作业可以有多个作业步 partition:分区,作业需要在特定分区中运行(理解为定义了队列,每个队列中包含不同节点) QOS:服务质量,可理解为用户 ...

  9. 子数组最大值设计02

    设计思路: 才过几天就有了新挑战,我真是找不到多少时间看数学了,下面是新任务的大致意思: 输入一个整形数组,数组里有正数也有负数.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和,如果数 ...

  10. C++之队列的实现及各种

    一.学习要点: 1.队列的特点: a.先进先出 b.插入只能从队尾插入 c.删除只能从对头删除 d.双向操作 2.队头指针与队尾指针的区别,队头指针指向实际队首,还是队首空位,以及队尾指针是指向实际队 ...

最新文章

  1. 【设计思想解读开源框架】java如何发送post请求
  2. 无法启动程序 计算机丢失QT,Win7系统打开程序提示计算机中丢失qt5core.dll如何解决...
  3. 纪念一下我画的第一个印刷电路板!
  4. selenium,webdriver 执行js语句 对象是百度
  5. 春节您“抢票”到手了吗,如果没,请进来看看!
  6. 删除用户账号的命令 mysql_【Mysql】常用指令之——用户操作(创建,授权,修改,删除)...
  7. mysql5.7安装教程centos_CentOS7下MySQL5.7安装配置方法图文教程(YUM)
  8. 《从零开始学Swift》学习笔记(Day 53)——do-try-catch错误处理模式
  9. 整理发布一些关于VMware vSphere的文档
  10. WIN10 WIFI热点 手机连接显示无网络连接问题解决
  11. 近10年NBA球队常规赛排名变化——tableau 实现bump chart
  12. python第五章总结
  13. MySQL--新手必备SQL基础知识、事务ACID及隔离级别
  14. java-net-php-python-ssm巴音学院本科部校园网站计算机毕业设计程序
  15. java image 反色,C#实现图像反色的方法
  16. UVM--TLM2.0通信
  17. 日本高铁想到的网络安全
  18. 面向对象方法开发的特点
  19. wdcp mysql 安装失败_解决WDCP安装错误Install Error:mysql configure err
  20. Java获取系统当前时间不正确

热门文章

  1. 实验室设备管理系统mysql
  2. c语言开发excel带比例的饼图,教大家Excel饼图中既显示百分比又显示数量的方法...
  3. win10如何找计算机管理员密码,win10管理员密码忘了怎么办 win10系统找回admin密码方法...
  4. 放大器的频率特性(2)-- 共源极的频率特性
  5. 最新的北京2012年地铁规划图
  6. oeasy教您玩转vim - 005 - # 程序本质
  7. latex添加代码注释_在代码中添加注释:好的,坏的和丑陋的。
  8. 企业教育中的人工智能市场现状研究分析预测报告-
  9. golang 将数据导入excel
  10. Day12:使用正则表达式