Update appNew update is available. Click here to update.
About
A P S College Of Engineering 2024
My Stats
EXP gained
yellow-spark
2781
Level
5 (Champion)
Community stats
Discussions
0
Upvotes
0
Know more
41
Total problems solved
30
Easy
10
Moderate
1
Hard
0
Ninja
Dec Dec Jan Jan Feb Feb Mar Mar Apr Apr May May Jun Jun Jul Jul Aug Aug Sep Sep Oct Oct Nov Nov

Current streak:

0 days

Longest streak:

2 days

Less

More

Achievements
2
Ronin
Topics
Arrays
Two Pointers
Discussions
C++ accepted.
Interview problems

int maxSumMatrix(int n, int m, vector<vector<int>> &mat, int val) {

    // Write your code here.

        // Step 1: Create and populate PrefixSum matrix

    vector<vector<int>> prefixSum(n, vector<int>(m, 0));

 

    for (int i = 0; i < n; i++) {

        vector<int> curr(m, 0);

        for (int j = 0; j < m; j++) {

            curr[j] = (j > 0 ? curr[j - 1] : 0) + mat[i][j];

            prefixSum[i][j] = curr[j] + (i > 0 ? prefixSum[i - 1][j] : 0);

        }

    }

 

    // Step 2: Binary search for max k

    int answer = 0;

    for (int i = 0; i < n; i++) {

        for (int j = 0; j < m; j++) {

            int left = 1;

            int right = min(i, j) + 1;

            while (left <= right) {

                int mid = (left + right) / 2;

                int sum = prefixSum[i][j];

                if (i - mid >= 0) sum -= prefixSum[i - mid][j];

                if (j - mid >= 0) sum -= prefixSum[i][j - mid];

                if (i - mid >= 0 && j - mid >= 0) sum += prefixSum[i - mid][j - mid];

                if (sum <= val) {

                    answer = max(answer, mid);

                    left = mid + 1;

                } else {

                    right = mid - 1;

                }

            }

        }

    }

 

    return answer;

}

 

profile
Simha Pro
Published On 21-Oct-2023
42 views
0 replies
0 upvotes
2 Line c++ solution
Interview problems

bool identicalTrees(BinaryTreeNode<int>* r1, BinaryTreeNode<int>* r2) {

    // Write your code here.     

    if(r1==NULL||r2==NULL) return r1==r2;

    return r1->data==r2->data && identicalTrees(r1->left,r2->left) &&identicalTrees(r1->right,r2->right);

}

profile
Simha Pro
Published On 21-Oct-2023
121 views
0 replies
0 upvotes