• JAVA实现,寻找数组中元素相加的和为0的元素个数的最大值,并输出子数组元素


    题目:寻找一个数组中连续几个元素,和为0,且这几个元素为这个数组中连续个数最多的几个元素,并且输出打印这些元素。

    输入样例:

    1 2 3 0 -3 -2 1

    1 2 3 0 -3 -2 1 0 -2 -3 2 3

    输出样例:

    2 3 0 -3 -2

    1 2 3 0 -3 -2 1 0 -2 -3 2 3

    ------------------------------------------------I am a Dividing line---------------------------------------------

    JAVA代码:

    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
    
    /**
     * 连续子数组和为0的最大个数
     * 
     * @author ForeverLover
     *
     */
    public class ArrayLine {
    
    	public static void main(String[] args) {
    		while (true) {
    			// ---------------输入-----------------//
    			Scanner scan = new Scanner(System.in);
    			String s = scan.nextLine();
    			String[] sa = s.split(" ");
    			int[] array = new int[sa.length];
    			for (int i = 0; i < array.length; i++)
    				array[i] = Integer.parseInt(sa[i]);
    			// --------------寻找数组------------------//
    			List<Integer> list = new ArrayList<Integer>();
    			List<Integer> result = new ArrayList<Integer>();
    			for (int i = 0; i < array.length; i++) {
    				int sum = array[i];
    				result.clear();
    				result.add(array[i]);
    				for (int j = i + 1; j < array.length; j++) {
    					if ((sum += array[j]) == 0) {
    						result.add(array[j]);
    						if (result.size() >= list.size()) {
    							list.clear();
    							list.addAll(result);
    						}
    					} else
    						result.add(array[j]);
    				}
    			}
    			// ---------------输出------------------//
    			for (int i = 0; i < list.size(); i++) {
    				if (i != list.size() - 1)
    					System.out.print(list.get(i) + " ");
    				else
    					System.out.println(list.get(i));
    			}
    		}
    	}
    }
    
  • 相关阅读:
    VS2017+MPI10.0安装与环境配置
    数组翻转(非reverse)
    判断一个字符串中出现次数最多的字符,统计这个次数
    Mock模拟数据,前后端分离
    js放大镜
    360度全景图片
    照片墙应用
    KindEditor配置和使用
    关于IIS的错误 312 (net::ERR_UNSAFE_PORT):未知错误
    从C到C++:命令行参数
  • 原文地址:https://www.cnblogs.com/ForeverLover/p/4839789.html
Copyright © 2020-2023  润新知