一个整形数组,数组里有正数也有负数。
数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和,求所有子数组的和的最大值,并打印出该数组。
这个程序的算法其实很简单,找出数组中所有的正数就可以了,然后求和,第一个代码保证了输出的数组最后一个元素后面没有逗号。
如果只输出最大和,那就简单多了,大家可以看第二段代码。
import java.util.*;
class ArraySort
{
public static void find(int [] array)
{
int sum=0;
List result=new ArrayList();
for(int temp:array)
{
if(temp>0)
{
result.add(temp);
}
}
for(int i=0;i<result.size();i++)
{
if(i==(result.size()-1))
{
System.out.print((int)result.get(i));
sum+=(int)result.get(i);
System.out.println(" sum="+sum);
}
else
{
System.out.print((int)result.get(i)+",");
sum+=(int)result.get(i);
}
}
}
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
while(sc.hasNext())
{
String str=sc.nextLine();
String[] arr=str.split(",");
int[] array=new int[arr.length];
for(int i=0;i<arr.length;i++)
{
array[i]=new Integer(arr[i]);
}
if(array.length==arr.length)
ArraySort.find(array);
}
}
}
如果程序要求直接输入最大自己的和,那么代码如下
import java.util.*;
class ArraySort
{
public static int find(int [] array)
{
int sum=0;
List result=new ArrayList();
for(int temp:array)
{
if(temp>0)
{
result.add(temp);
}
}
for(int i=0;i<result.size();i++)
{
sum+=(int)result.get(i);
}
return sum;
}
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
int a=0;
while(sc.hasNext())
{
String str=sc.nextLine();
String[] arr=str.split(",");
int[] array=new int[arr.length];
for(int i=0;i<arr.length;i++)
{
array[i]=new Integer(arr[i]);
}
if(array.length==arr.length)
a =ArraySort.find(array);
System.out.println(a);
}
}
}
分享到:
相关推荐
matlab三维数组 - Matlab中...这些操作包括两个大小可能不同的数组的元素乘法/除法,以及维度子集上的求和(边缘化)。本报告讨论了在Matlab中实现这些操作的有效方法,重点介绍了Bayes Net工具箱(BNT)中使用的实现。
我试图编制一个列表并按类型对问题进行分类。 下面的列表可能不会更新,请参阅上面的文件名。 树木 将二叉树展平到链表 路径和 路径求和 II 二叉树的最小深度 二叉树的最大深度 将排序数组转换为二叉搜索树 将排序...
leetcode 浇花 :large_orange_diamond: LeetCode 训练练习网页供复习 为每个问题提供解决方案,包括不同的语言和不同的想法 挑战正在进行 ...的最大和子数组(简单) 给定总和的最小子数组(简单) 具有 K 个
根到叶数求和 成对交换节点 对称树 有效回文 验证二叉搜索树 恢复 IP 地址 组合 交错字符串(dp 是最好的) 组合和II 电话号码的字母组合 词搜索 从中序和后序遍历构造二叉树 从前序和中序遍历构造二叉树 生成括号 ...
最小旋转排序数组 简单的 矩阵问题的扩展 难的 Breath First Search 广度优先搜索 问题 描述 锯齿形打印二叉树 周边区域(DFS 或 BFS) 二叉树右侧视图 课程安排 K 站内最便宜的航班 字梯II 删除无效括号 打印二叉树...
本书将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能...
leetcode小岛出水口 LeetCode_upup leetcode上面刷的题时间久了就自动没了。。。真的是!...合并两个有序数组 Easy 94 不同的二叉搜索树 Middle 95 不同的二叉搜索树 II Middle 110 平衡二叉树 Easy 123
我的方法是从各种现有的存储库和其他在线资源中收集算法,并提出我自己的解决方案。 语言 python,javascript,最终是 golang 目标话题 基本语法 二分查找 二叉搜索树 二叉树 著名算法 动态规划(Kadane 算法) 尝试...
数数并说JS (备忘录) Power Set JS (子集,递归) 有效数字JS (正则表达式) Coin Change JS (组合,动态自下而上) 组字谜JS 水容器JS 第一个缺失的正JS 水果入篮JS CodeSignal 街机问题 介绍 10 - 常见字符...
17.6 用PySequence_Fast将Python序列转为 C数组 604 17.7 用迭代器逐个访问Python序列的元素 608 17.8 从Python可调用的C函数中返回None 611 17.9 用gdb调试动态载入的C扩展 613 17.10 调试内存问题 614 第18...
% lower 把字符串变为小号字母 strmatch 为字符串找到一个合适的匹配,并返回对应的索引 i = strmatch(lower(distance), distNames); if length(i) > 1 % 大于1刚至少有一种距离 error(sprintf('Ambiguous ''...