• 第二周学习进度博客


    所花时间(包括上课):周四下午4小时+周五下午2小时+周六上午3小时=9小时

    代码量:30行

    博客量:两篇,分别是“第二周学习进度博客”和“软件工程第一周开课博客”

    知识点:返回一个整数数组中最大子数组的和可以用贪心法来完成,确实是比较简洁的代码

    package bao;
    
    public class Grope {
        public static void main(String[] args) {
            int arr[] = { 2, -3, 4, 11, -5, 8, 3, -6 };
            int maxSum = getMaxSum2(arr);
            System.out.println("最大子数组的和为:" + maxSum);
        }
    
        private static int getMaxSum(int[] arr) {
            int max = -100000;
            for (int i = 0; i < arr.length; i++) {
                int sum = 0;
                for (int j = i; j < arr.length; j++) {
                    sum += arr[j];
                    if (max < sum) {
                        max = sum;
                    }
                }
            }
    
            return max;
        }
    
        // 贪心法
        private static int getMaxSum2(int[] arr) {
            int n = arr.length;
            int max = -1000000;
            int sum = 0;
            for (int i = 0; i < n; i++) {
                sum += arr[i];
                if (sum > max) {
                    max = sum;
                }
                if (sum < 0) {
                    max = 0; // 子串和为负数,丢掉
                }
            }
            return max;
        }
    
    }
  • 相关阅读:
    (10)进程---Manager数据共享
    (9)进程---JoinableQueue队列
    (8)进程---Queue队列
    (7)Pool进程池
    (6)进程---Event事件
    (5)进程--锁和信号量
    (4)进程---daemon守护进程和join阻塞
    XSLT知识点【一】
    XSL-FO知识点【一】
    XPath知识点【一】
  • 原文地址:https://www.cnblogs.com/cuijunfeng/p/10506004.html
Copyright © 2020-2023  润新知