zoukankan      html  css  js  c++  java
  • 一维数组

    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);
        }
    }

  • 相关阅读:
    剑指 Offer 48. 最长不含重复字符的子字符串
    剑指 Offer 47. 礼物的最大价值
    剑指 Offer 42. 连续子数组的最大和
    剑指 Offer 40. 最小的k个数
    剑指 Offer 39. 数组中出现次数超过一半的数字
    剑指 Offer 34. 二叉树中和为某一值的路径
    剑指 Offer 33. 二叉搜索树的后序遍历序列
    java类与对象(属性,方法)的使用
    java--基本数据类型的转换(强制转换)
    java--基本数据类型的转换(自动转换)
  • 原文地址:https://www.cnblogs.com/yandashan666/p/10771270.html
Copyright © 2011-2022 走看看