๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
9.63K subscribers
5.61K photos
3 videos
95 files
10.6K 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
public static String maskSensitiveInfo(String data) {
        if (isEmail(data)) {
            return maskEmail(data);
        } else if (isPhoneNumber(data)) {
            return maskPhoneNumber(data);
        }
        return data;
    }

    private static boolean isEmail(String data) {
        return data.matches("^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$");
    }

    private static boolean isPhoneNumber(String data) {
        return data.matches("^[0-9().\\-+ ]{10,20}$");
    }

    private static String maskEmail(String email) {
        email = email.toLowerCase();
        String[] parts = email.split("@");
        String local = parts[0];
        String domain = parts[1];

        if (local.length() > 2) {
            local = local.charAt(0) + "*" + local.charAt(local.length() - 1);
        } else {
            local = local.charAt(0) + "*";
        }
        return local + "@" + domain;
    }

    private static String maskPhoneNumber(String phone) {
        phone = phone.replaceAll("[^0-9]", "");
        int len = phone.length();
        String maskedPhone = "";

        if (len == 10) {
            maskedPhone = "###-###-" + phone.substring(6);
        } else if (len == 11) {
            maskedPhone = "+#-###-###-" + phone.substring(7);
        } else if (len == 12) {
            maskedPhone = "+##-###-###-" + phone.substring(8);
        } else if (len == 13) {
            maskedPhone = "+###-###-###-" + phone.substring(9);
        }

        return maskedPhone;
    }

Protecting Personal Information โœ…
int solve(int n)
{
    int ans = 0;
    for (int i = 1; i <= n; i *= 10)
    {
        int divider = i * 10;
        ans += (n / divider) * i +
               min(max(n % divider - i + 1, 0LL), i);
    }
    return ans;
}
int solve(vector<int> pass,int limit){
    sort(pass.begin(),pass.end());
   
    int ini=0;
    int fin=pass.size()-1;
    int count=0;
    while(ini<=fin){
        if(pass[ini]+pass[fin]<=limit){
            count++;
            ini++;
            fin--;
        }
        else{
            count++;
            fin--;
        }
    }
    return count;
}
๐Ÿ‘1
def solution(lamps):
    from collections import defaultdict
    illumination_count = defaultdict(int)
    for lamp in lamps:
        coord, radius = lamp
        for i in range(coord - radius, coord + radius + 1):
            illumination_count[i] += 1
    unique_illumination_count = sum(1 for count in illumination_count.values() if count == 1)
    return unique_illumination_count
We are inviting applications at GENPACT for the role of Management Trainee.

Skill Set : Record to Report, RTR, R2R.

โ€ข Location : Hyderabad
โ€ข Shifts : US
โ€ข Eligibility Criteria :
โ€ข CA (2024 batch) Freshers.
โ€ข Notice period : IMMEDIATE JOINERS, 30 Days.

Interested candidates can share their updated CV to me at diksha.prakash@genpact.com

โ€ข Full name :
โ€ข Current Profile :
โ€ข Current Company :
โ€ข Current designation :
โ€ข Current CTC :
โ€ข Expected CTC :
โ€ข Current location :
โ€ข Notice period :
#include <bits/stdc++.h>
using namespace std;
using namespace std;
int maxCoins( vector<int> a, vector<int> b)

{
    int N = a.size(), M = b.size();
    vector<int> flag(2, 0);
    int i = 0, j = 0;
    while (i < N && j < M)
    {
        if (a[i] < b[j])
            flag[0] += a[i++];
        else if (a[i] > b[j])
            flag[1] += b[j++];
        else
        {
            int v = a[i], count_a = 0, count_b = 0;
            while (i < N && a[i] == v)
                count_a++, i++;
            while (j < M && b[j] == v)
                count_b++, j++;
            int r0 = max(flag[0] + count_a * v, flag[1] + (count_a + count_b - 1) * v);
            int r1 = max(flag[1] + count_b * v, flag[0] + (count_a + count_b - 1) * v);
            if (count_a > 1 && count_b > 1)
            {
                r0 = max(r0, flag[0] + (count_a + count_b - 2) * v);
                r1 = max(r1, flag[1] + (count_a + count_b - 2) * v);
            }
            flag[0] = r0;
            flag[1] = r1;
        }
    }
    while (i < N)
        flag[0] += a[i++];
    while (j < M)
        flag[1] += b[j++];
    return max(flag[0], flag[1]);
}

int solve(vector<int> &A, vector<int> &B)
{
    int n = A.size();
    int m = B.size();
    int ans = 0;
    int i = 0, j = 0;
    bool flag = false;
    if (is_sorted(A.begin(), A.end()) && is_sorted(B.begin(), B.end()))
    {
        flag = true;
    }
    else
    {
        reverse(B.begin(), B.end());
        reverse(A.begin(), A.end());
    }

    return maxCoins(A,B);
}



Cave Coin Collection โœ…
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll solve(vector<ll>&a,vector<ll>&b,ll n,ll m)
{
    ll ans=0;
    ll s1=0,s2=0;
    ll i=0,j=0;
    while(i<n and j<m)
    {
        if(a[i]<b[j]) s1+=a[i++];
        else if(a[i]>b[j]) s2+=b[j++];
        else
        {
            ans+=max(s1,s2)+a[i];
            i++;
            j++;
            s1=0;
            s2=0;
        }
    }
    while(i<n) s1+=a[i++];
    while(j<m) s2+=b[j++];
    return max(s1,s2)+ans;
}
signed main()
{
    ll n; cin>>n;
    vector<ll>a(n);
    for(ll i=0;i<n;i++) cin>>a[i];
    ll m; cin>>m;
    vector<ll>b(m);
    for(ll i=0;i<n;i++) cin>>b[i];
    cout<<solve(a,b,n,m);
}


Letter Candles โœ…
int solve(vector<vector<int>>& grid) {
        int n=grid.size(),m=grid[0].size();
        int dirx[4]={-1,1,0,0};
        int diry[4]={0,0,-1,1};
        queue<pair<int,int>> q;
        int cnt=0,cnt2=0;
        vector<vector<int>> vis(n,vector<int>(m,-1));
        for(int i=0;i<n;i++){
            for(int j=0;j<m;j++){
                if(grid[i][j]==2){
                    q.push({i,j});
                    vis[i][j]=1;
                    cnt2++;
                }else if(grid[i][j]==1){
                     cnt++;
                }
            }
        }
       
        int len=0;
        while(q.size()){
           
            int sz=q.size();
            if(cnt==0) return len;
            for(int l=0;l<sz;l++){
               
               
                pair<int,int> p1=q.front();
                q.pop();
                int i=p1.first,j=p1.second;
               
               
                for(int k=0;k<4;k++){
                    int x=i+dirx[k];
                    int y=j+diry[k];
                   
                    if(x>=0 and x<n and y>=0 and y<m and vis[x][y]==-1 and grid[x][y]==1){
                        q.push({x,y});
                        vis[x][y]=1;
                        cnt--;
                    }  
                }  
            }
           
            len++;
        }
        if(cnt>0) return -1;
        return 0;
    }
int main() {
 
  int n,m;
  cin>>n>>m;
  vector<vector<int>> v(n,vector<int>(m));
  for(int i=0;i<n;i++)
  for(int j=0;j<m;j++)
     cin>>v[i][j];
    
  cout<<solve(v);    
 
 
    }

Virus Spread โœ…
๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
Photo
#include <bits/stdc++.h>
using namespace std;
#define MAXN 30005
vector<int> adj[MAXN];
int value[MAXN];
int xor_from_root[MAXN];
bool visited[MAXN];
void dfs(int node, int xor_val) {
    visited[node] = true;
    xor_from_root[node] = xor_val ^ value[node];
   
    for (int neighbor : adj[node]) {
        if (!visited[neighbor]) {
            dfs(neighbor, xor_from_root[node]);
        }
    }
}
void solve(int N, int Q, vector<int>& values, vector<pair<int, int>>& edges, vector<tuple<int, int, int>>& queries) {
    for (int i = 1; i <= N; ++i) {
        value[i] = values[i - 1];
    }
   
    for (auto& edge : edges) {
        int a, b;
        tie(a, b) = edge;
        adj[a].push_back(b);
        adj[b].push_back(a);
    }
   
    memset(visited, false, sizeof(visited));
    dfs(1, 0);
   
    for (auto& query : queries) {
        int u, v, k;
        tie(u, v, k) = query;
       
        int path_xor = xor_from_root[u] ^ xor_from_root[v];
        bool found = false;

        if (path_xor == k) {
            found = true;
        } else {
            for (int i = 1; i <= N; ++i) {
                if ((xor_from_root[u] ^ xor_from_root[v] ^ value[i]) == k) {
                    found = true;
                    break;
                }
            }
        }

        if (found) {
            cout << "YES" << endl;
        } else {
            cout << "NO" << endl;
        }
    }
}
int main() {
    int N, Q;
    cin >> N >> Q;
   
    vector<int> values(N);
    for (int i = 0; i < N; ++i) {
        cin >> values[i];
    }
   
    vector<pair<int, int>> edges(N - 1);
    for (int i = 0; i < N - 1; ++i) {
        int a, b;
        cin >> a >> b;
        edges[i] = {a, b};
    }
   
    vector<tuple<int, int, int>> queries(Q);
    for (int i = 0; i < Q; ++i) {
        int u, v, k;
        cin >> u >> v >> k;
        queries[i] = {u, v, k};
    }
   
    solve(N, Q, values, edges, queries);
   
    return 0;
}


XOR Tree โœ…
๐Ÿ‘2