Subarray Division 2

Sort by

recency

|

119 Discussions

|

  • + 0 comments
    public static int birthday(List<Integer> s, int d, int m) {
    // Write your code here
        int segments = 0;
        int n = s.size();
        for(int i = 0; i <= n-m; i++){
            int sum =0;
            for(int j = 0; j < m ; j++){
                sum = sum + s.get(i + j);
            }
            if(sum == d){
                segments++;
            }
        }
        return segments;
    }
    
  • + 0 comments
    private static int birthday(int n, int[] s, int d, int m) {
        if (n < m) return 0;
        return (int) IntStream.rangeClosed(0, n - m)
                .filter(i -> Arrays.stream(s, i, i + m).sum() == d)
                .count();
    }
    
  • + 0 comments

    My Python Solution: def birhtday(s,d,m): count = 0 for i in range(len(s)-m+1): if (sum(s [ i : m] )== d: count+=1 m +=1 return count

  • + 0 comments

    My rust solution:

    fn birthday(s: &[i32], d: i32, m: i32) -> i32 {
        let m = m as usize;
        (0..s.len())
            .filter(|&i| i + m <= s.len())
            .filter(|&i| s[i..i + m].iter().sum::<i32>() == d)
            .count() as i32
    }
    
  • + 2 comments

    // sliding window method

    def birthday(s, d, m):

    c = 0
    for i in range(len(s)):
        if sum(s[i:i + m]) == d:
            c += 1
    return c