zoukankan      html  css  js  c++  java
  • Codility---MaxSliceSum

    Task description

    A non-empty zero-indexed array A consisting of N integers is given. A pair of integers (P, Q), such that 0 ≤ P ≤ Q < N, is called a slice of array A. Thesum of a slice (P, Q) is the total of A[P] + A[P+1] + ... + A[Q].

    Write a function:

    class Solution { public int solution(int[] A); }

    that, given an array A consisting of N integers, returns the maximum sum of any slice of A.

    For example, given array A such that:

    A[0] = 3 A[1] = 2 A[2] = -6 A[3] = 4 A[4] = 0

    the function should return 5 because:

    • (3, 4) is a slice of A that has sum 4,
    • (2, 2) is a slice of A that has sum −6,
    • (0, 1) is a slice of A that has sum 5,
    • no other slice of A has sum greater than (0, 1).

    Assume that:

    • N is an integer within the range [1..1,000,000];
    • each element of array A is an integer within the range [−1,000,000..1,000,000];
    • the result will be an integer within the range [−2,147,483,648..2,147,483,647].

    Complexity:

    • expected worst-case time complexity is O(N);
    • expected worst-case space complexity is O(N), beyond input storage (not counting the storage required for input arguments).

    Elements of input arrays can be modified

    Solution
     
    Programming language used: Java
    Total time used: 25 minutes
    Code: 14:21:19 UTC, java, final, score:  100
    // you can also use imports, for example:
    // import java.util.*;
    
    // you can write to stdout for debugging purposes, e.g.
    // System.out.println("this is a debug message");
    import java.util.Arrays;
    class Solution {
        public int solution(int[] A) {
            // write your code in Java SE 8
            int max_ending = A[0];
            int max_slice = A[0];
            for(int i=1; i<A.length; i++){
                max_ending = Math.max(max_ending + A[i], A[i]);
                max_slice =  Math.max(max_slice, max_ending);
            }
            return max_slice;
        }
    }


    https://codility.com/demo/results/trainingDWA6ZF-77M/
  • 相关阅读:
    jackson自动将东八区时间转成标准时间
    开发项目和所用时间 感想
    自我介绍
    后缀数组模板
    lucas模板
    后缀数组da3模板
    cf#366....
    第1月2周1天
    第1月2周2天
    第1月1周1天
  • 原文地址:https://www.cnblogs.com/samo/p/6793189.html
Copyright © 2011-2022 走看看