๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
9.63K subscribers
5.59K photos
3 videos
95 files
10.2K links
๐ŸšฉMain Group - @SuperExams
๐Ÿ“Job Updates - @FresherEarth

๐Ÿ”ฐAuthentic Coding Solutions(with Outputs)
โš ๏ธDaily Job Updates
โš ๏ธHackathon Updates & Solutions

Buy ads: https://telega.io/c/cs_algo
Download Telegram
๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
Photo
def go(bubbles, col, row):
    n = len(bubbles)
    row = min(row, n - 1)
    t = row
    for i in range(row, -1, -1):
        if bubbles[i][col] != 0:
            bubbles[t][col] = bubbles[i][col]
            t -= 1
    for i in range(t, -1, -1):
        bubbles[i][col] = 0
def solution(bubbles):
    m, n = len(bubbles), len(bubbles[0])
    dx, dy = [-1, 0, 1, 0], [0, 1, 0, -1]
    to_explode = set()
    for x in range(m):
        for y in range(n):
            if bubbles[x][y] == 0:
                continue
            c = 0
            color = bubbles[x][y]
            for d in range(4):
                xx, yy = x + dx[d], y + dy[d]
                if 0 <= xx < m and 0 <= yy < n and bubbles[xx][yy] == color:
                    c += 1
            if c >= 2:
                to_explode.add((x, y))
                for d in range(4):
                    xx, yy = x + dx[d], y + dy[d]
                    if 0 <= xx < m and 0 <= yy < n and bubbles[xx][yy] == color:
                        to_explode.add((xx, yy))
    for x, y in to_explode:
        bubbles[x][y] = 0
    for y in range(n):
        go(bubbles, y, m - 1)
    return bubbles


Visa โœ…
https://tally.so/r/wzZ9kE

Raja Software Labs (RSL) is a product engineering company helping clients ship high volume, high impact products used by millions of users. Some of their recent clients include LinkedIn, Google Nest, TruePill, StubHub, Vida Health, CocoTerra, etc.

Eligibility:
Degree: BTech/BE, MTech/ MSc
Graduation Year: 2020/2021/2022/2023/2024.
Branch: All branches

20+ SDE Positions are OPEN:
Mandatory Skills: Any One (C, C++, Java, Python, JavaScript, or any other)
Preferred Skills: Knowledge of data structures, algorithms, and OOPs concepts.

Selection Process:
1๏ธโƒฃ Assessment at AccioJob Noida Skill Centre (Noida Sector 15)
2๏ธโƒฃ Three Online Interviews with RSL hiring team

Details:
๐Ÿข CTC: 7 LPA
๐Ÿ“ Work Location: Pune (Work from Office)

Please bring your laptop for the test.
Round 1 Location: AccioJob Noida Skill Centre: https://maps.app.goo.gl/c3dfcuogCT3Rdn7d9

Contact: Ajay Khemarya at 9319757228
โค1
long maxScoreAfterKOperations(vector<int>& arr, int k) {
    priority_queue<int> maxHeap(arr.begin(), arr.end());
    long q = 0;
    for (int i = 0; i < k; ++i) {
        long maxElement = maxHeap.top();
        maxHeap.pop();
        q += maxElement;
        long newElement = ceil(maxElement / 3.0);
        maxHeap.push(newElement);
    }
    return q;
}


Maximum Score โœ…
HP(FTE)
def longestEvenSumSubsequence(arr):
    n = len(arr)
    arr.sort()
    s = 0
    for i in range(1, n):
        s += arr[i] - arr[i - 1]
    if s % 2 == 0:
        return n
    else:
        for i in range(n):
            f = s - arr[i] + arr[i - 1] if i > 0 else s - arr[1] + arr[0]
            if f % 2 == 0:
                return n - 1
    return 0


Even Difference โœ…
HP(FTE)
int findMaximumGreatness( vector<int>&arr) {
    int n = arr.size()
    vector<int>v = arr;
    sort(begin(v), end(v));
    sort(begin(arr), end(arr));
    int ans = 0;
    int i = n - 1, j = n - 1;
    while (i >= 0 && j >= 0) {
        if (v[i] > arr[j]) {
            ans++;
            i--;
            j--;
        }
        else {
            j--;
        }
    }
    return ans;
}

UKG โœ…
#include <bits/stdc++.h>
#define endl '\n'
#define ll long long int
#define pb push_back
#define pf push_front
#define F first
#define S second
const ll MOD = 1e9 + 7;

using namespace std;

ll solve(int n, int k, int m) {
    vector<vector<ll>> dp(k + 1, vector<ll>(m, 0));
    dp[0][0] = 1;

    for (ll num = 0; num < n; num++) {
        vector<vector<ll>> new_dp = dp;
        for (ll size = 1; size <= k; size++) {
            for (ll rem = 0; rem < m; rem++) {
                ll new_rem = (rem + num) % m;
                new_dp[size][new_rem] = (new_dp[size][new_rem] + dp[size - 1][rem]) % MOD;
            }
        }
        dp = new_dp;
    }

    return dp[k][0];
}


THE COIN PROBLEMโœ…
Wissen Technology
Hiring fresher React.js developer

Its such a good opportunity for freshers and fresh graduates those want to start their career in industry

location :- Pune
Preferred :- immediate joiners
experience :- 0 to 6 months
ctc :- 3.2 to 4.8 LPA

Drop Cv: 
admin.tcd@thecorporatedemands.com
๐Ÿ‘1
๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
Photo
const int INF = numeric_limits<int>::max();

vector<int> getPredecessors(int graph_nodes, const vector<int> &graph_from, const vector<int> &graph_to, const vector<int> &graph_weight, int c)
{
    vector<vector<pair<int, int>>> graph(graph_nodes + 1);
    for (size_t i = 0; i < graph_from.size(); ++i)
    {
        int u = graph_from[i];
        int v = graph_to[i];
        int w = graph_weight[i];
        graph[u].emplace_back(v, w);
        graph[v].emplace_back(u, w);
    }

    vector<int> dist(graph_nodes + 1, INF);
    vector<set<int>> predecessors(graph_nodes + 1);
    priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> min_heap;

    dist[c] = 0;
    min_heap.emplace(0, c);

    while (!min_heap.empty())
    {
        int d = min_heap.top().first;
        int u = min_heap.top().second;
        min_heap.pop();

        if (d > dist[u])
            continue;

        for (const auto &edge : graph[u])
        {
            int v = edge.first;
            int weight = edge.second;

            if (dist[u] + weight <= dist[v])
            {
                if (dist[u] + weight < dist[v])
                {
                    dist[v] = dist[u] + weight;
                    predecessors[v].clear();
                    min_heap.emplace(dist[v], v);
                }
                if (u != c)
                    predecessors[v].insert(u);

                predecessors[v].insert(predecessors[u].begin(), predecessors[u].end());
            }
        }
    }

    vector<int> predecessor_count(graph_nodes + 1, 0);
    predecessor_count[c] = 0;
    for (int i = 1; i <= graph_nodes; ++i)
        predecessor_count[i] = predecessors[i].size();

    return vector<int>(predecessor_count.begin() + 1, predecessor_count.end());
}

Count of predecessors โœ…
HP(FTE)
๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
Photo
#include <iostream>
#include <vector>
using namespace std;

class UnionFind {
public:
    vector<int> parent, rank, size;

    UnionFind(int n) : parent(n), rank(n, 1), size(n, 1) {
        for (int i = 0; i < n; ++i) {
            parent[i] = i;
        }
    }

    int find(int x) {
        if (parent[x] != x) {
            parent[x] = find(parent[x]);
        }
        return parent[x];
    }

    void unionSets(int x, int y) {
        int rootX = find(x);
        int rootY = find(y);

        if (rootX != rootY) {
            if (rank[rootX] > rank[rootY]) {
                parent[rootY] = rootX;
                size[rootX] += size[rootY];
            } else if (rank[rootX] < rank[rootY]) {
                parent[rootX] = rootY;
                size[rootY] += size[rootX];
            } else {
                parent[rootY] = rootX;
                size[rootX] += size[rootY];
                rank[rootX]++;
            }
        }
    }

    int getSize(int x) {
        int rootX = find(x);
        return size[rootX];
    }
};

long long countPairs(int n, int k, vector<int>& u, vector<int>& v) {
    UnionFind uf(n);
    for (int i = 0; i < k; ++i) {
        uf.unionSets(u[i], v[i]);
    }
    long long totalPairs = (long long)n * (n - 1) / 2;
    vector<bool> visited(n, false);
    for (int i = 0; i < n; ++i) {
        int root = uf.find(i);
        if (!visited[root]) {
            visited[root] = true;
            int clusterSize = uf.getSize(i);
            if (clusterSize > 1) {
                totalPairs -= (long long)clusterSize * (clusterSize - 1) / 2;
            }
        }
    }

    return totalPairs;
}