Subarray Division 1

Sort by

recency

|

283 Discussions

|

  • + 0 comments

    int contador = 0; for(int x = 0; x < s.Count - m +1 ; x++) { int valor = 0; for(int y = x; y < x + m; y++ ) { valor += s[y]; }
    if(valor == d) { contador ++; } } return contador;

  • + 0 comments

    Kotlin Solution

    fun birthday(s: Array<Int>, d: Int, m: Int): Int {
        return (0 until s.size-m+1).map { i -> s.slice(i until m+i) }.filter { it.sum() == d }.size
    }
    
  • + 0 comments

    c++20

    int birthday(vector<int> s, int d, int m) {
        int nCombos = 0;
        for(int i = 0; i < s.size() ; i++){
            if(std::accumulate(s.begin() + i, s.begin() + i + m, 0) == d){
                nCombos +=1;
            }
        }
        return nCombos;
    }
    
  • + 0 comments

    logic on python

    def testResult(result,d):
        count = 0
        for xy in result:
            temp = 0
            for record in xy:
                temp+=record
            if temp == d:
                count +=1
        return count
    def pushMRecord(idx, m, s):
        res = []
        for idxs in range(m):
            if idx + idxs < len(s): 
                res.append(s[idx + idxs])
        return res
    
    def birthday(s, d, m):
        # Write your code here
        temp = []
        result = []
        print(len(s),"sds")
        print(d,"sdac")
        if len(s) == d:
            return 1 
        for idx in range(len(s)):
            if idx == len(s)-m+1:
                continue
            temp = pushMRecord(idx, m, s)
            print("Tem", temp)
            if len(temp)==m:
                result.append(temp)
                temp = []
        print(result)
        testRes = testResult(result, d)
        return testRes
    
  • + 0 comments

    Python solution:

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