• 一维数组


    package yiweishuzu;

    import java.util.Scanner;

    /**
     * 贪心算法
     * @author Lenovo
     *
     */
    public class shuzu_1 {
        private static Scanner scan;

        public static void main(String[] args) {
            // 确定元素的个数
            System.out.println("输入数组元素个数:");
            scan = new Scanner(System.in);
            int n = scan.nextInt();

            // 循环输入数组元素
            System.out.println("输入数组");
            int[] x = new int[n];
            for (int i = 0; i < n; i++) {
                x[i] = scan.nextInt();
            }

            // 最大子数组的起始位置(即当前最大子数组)
            int max = Integer.MIN_VALUE;// 设置成最小整数
            int sum = 0;// 记录数组个元素相加的和
            
            for (int i = 0,j = 1; i < n; i++) {// 将个元素依次相加并进行判断
                System.out.println("当前执行第" + j + "步");
                if (sum <= 0) {// 当遇到小于0的数时就停止相加
                    sum = x[i];
                    System.out.println("此时执行到的元素是" + x[i]);
                    System.out.println("当前sum值为" + sum);
                } else {
                    sum = sum + x[i];
                    System.out.println("此时执行到的元素是" + x[i]);
                    System.out.println("当前sum值为" + sum);
                }
                if (sum >= max) {// 如果求得总和大于之前的最大值的话,就将sum赋值给max
                    max = sum;
                    System.out.println("此时最大值符合条件,当前最大值" + max + " ");
                    j++;
                    continue;
                }
                else{
                    System.out.println("此时不符合要求,sum清0" + " ");
                    j++;
                    continue;
                }            
                // if (sum < 0) {// 如果当前求得的数组的和为负数,就把他清除为0(输出的结果就是非负整数)
                // max = 0;
                // }
            }
    //        System.out.println("最大子数组的和为:" + max);
        }
    }

  • 相关阅读:
    PMP笔记:行政收尾工作
    PMP 笔记:WBS 词典 (含范例)
    PMP 笔记:WBS 实战 (例子)
    名义小组和德尔菲技术使用与区别
    焦点小组、名义小组和引导式会议的定义与区别
    工作分解结构WBS、组织分解结构OBS、资源分解结构 定义和区别(含例子)
    kettle里的参数和变量
    kettle生成100个随机数,并统计小于等于50和大于50个数
    使用kettle制作拉链表
    MySQL字符串转日期
  • 原文地址:https://www.cnblogs.com/yandashan666/p/10771270.html
Copyright © 2020-2023  润新知