LeetCode Weekly Solutions
7.29K subscribers
34 photos
11 files
101 links
Latest Jobs and Internships are regularly uploaded here : https://t.me/placementlelo

If you want any other exam answers for free : @exam_cheating_bot

Collaborations: @growth_admin
Download Telegram
Lost In Orange Code
Infosys SP Exam
C++

https://telegram.me/+_hn3cBQVbGliYTI9

#include <bits/stdc++.h>
using namespace std;
#define int long long

int32_t main()
{
int N, M;
cin >> N >> M;
https://telegram.me/PLACEMENTLELO
vector<vector<int>> grid(N, vector<int>(M));
for (int i = 0; i < N; ++i){
for (int j = 0; j < M; ++j){
cin >> grid[i][j];
}
}

vector<vector<long long>> dp(N, vector<long long>(M, 0));
vector<vector<long long>> placementlelo(N, vector<long long>(M, LLONG_MAX));

if (grid[0][0] == 0) placementlelo[0][0] = 0;
https://telegram.me/PLACEMENTLELO
dp[0][0] = grid[0][0];
for (int i = 0; i < N; ++i){
for (int j = 0; j < M; ++j){
if (i == 0 && j == 0)
continue;

if (i > 0){
dp[i][j] = max(dp[i][j], dp[i - 1][j] + grid[i][j] - placementlelo[i - 1][j]);
placementlelo[i][j] = min(placementlelo[i][j], placementlelo[i - 1][j] + 2);
}

if (j > 0){
dp[i][j] = max(dp[i][j], dp[i][j - 1] + grid[i][j] - placementlelo[i][j - 1]);
placementlelo[i][j] = min(placementlelo[i][j], placementlelo[i][j - 1] + 2);
}
https://telegram.me/PLACEMENTLELO
if (grid[i][j] == 0) placementlelo[i][j] = 0;
}
}
https://telegram.me/PLACEMENTLELO
cout << dp[N - 1][M - 1] << endl;

return 0;
}

Lost In Orange Code
Infosys SP Exam
C++

https://telegram.me/+_hn3cBQVbGliYTI9
Intervals Maximization Code
Infosys SP Exam
C++

https://telegram.me/+_hn3cBQVbGliYTI9

#include <bits/stdc++.h>
using namespace std;

int mb(vector<int>& A, vector<pair<int, int>>& it) {
int placementlelo = A.size();
sort(it.begin(), it.end(), [](pair<int, int>& a, pair<int, int>& b) { return a.second < b.second; });
https://telegram.me/PLACEMENTLELO

vector<int> dp(placementlelo + 1, 0);
vector<int> ln(placementlelo + 1, 0);

for (auto& p : it) {
int st = p.first;
int en = p.second;
set<int> ds(A.begin() + st - 1, A.begin() + en);
int bt = accumulate(ds.begin(), ds.end(), 0);
int pe = ln[st - 1];
https://telegram.me/PLACEMENTLELO

dp[en] = max(dp[en], dp[pe] + bt);

for (int i = en; i <= placementlelo; i++) {
ln[i] = max(ln[i], en);
}
}
https://telegram.me/PLACEMENTLELO

return *max_element(dp.begin(), dp.end());
}

Intervals Maximization Code
Infosys SP Exam
C++

https://telegram.me/+_hn3cBQVbGliYTI9
Count Subtree Factor Code
Infosys SP Exam
C++

https://telegram.me/+_hn3cBQVbGliYTI9

#include <bits/stdc++.h>
using namespace std;

vector<vector<int>> tr;
vector<int> sz;
vector<int> pr;
https://telegram.me/PLACEMENTLELO
void f(int nd, int pa) {
sz[nd] = 1;
pr[nd] = pa;
for (int ch : tr[nd]) {
if (ch == pa) continue;
f(ch, nd);
sz[nd] += sz[ch];
}
}
https://telegram.me/PLACEMENTLELO
int u(int nd) {
int uc = 0;
for (int v = 1; v <= sz[nd]; ++v) {
if (nd % v == 0) {
uc++;
}
}
return uc;
}
https://telegram.me/PLACEMENTLELO
int main() {
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);

int n, m, cl;
cin >> n >> m >> cl;
tr.resize(n + 1);
sz.resize(n + 1);
pr.resize(n + 1, -1);
https://telegram.me/PLACEMENTLELO
for (int i = 0; i < m; ++i) {
int u1, u2;
cin >> u1 >> u2;
tr[u1].push_back(u2);
tr[u2].push_back(u1);
}
https://telegram.me/PLACEMENTLELO
f(1, -1);

int tu = 0;
for (int nd = 1; nd <= n; ++nd) {
tu += u(nd);
}
https://telegram.me/PLACEMENTLELO
cout << tu << endl;
return 0;
}

Count Subtree Factor Code
Infosys SP Exam
C++

https://telegram.me/+_hn3cBQVbGliYTI9
Out of Range Distinct Code
Infosys SP Exam
C++

https://telegram.me/+_hn3cBQVbGliYTI9

#include <bits/stdc++.h>
using namespace std;

vector<vector<int>> tr;
vector<int> ss;
vector<int> nv;
int n, m, cs;
https://telegram.me/PLACEMENTLELO
void d(int nd, int pt) {
ss[nd] = 1;
https://telegram.me/PLACEMENTLELO
for (int nb : tr[nd]) {
if (nb == pt) continue;
d(nb, nd);
ss[nd] += ss[nb];
}
}
https://telegram.me/PLACEMENTLELO
int c(int nd) {
int uf = 0;
for (int nb : tr[nd]) {
if (nd % nb == 0) uf++;
uf += c(nb);
}
return uf;
}

Out of Range Distinct Code
Infosys SP Exam
C++

https://telegram.me/+_hn3cBQVbGliYTI9
Flip the Bracket Code
Infosys SP Exam
C++

https://telegram.me/+_hn3cBQVbGliYTI9

#include <iostream>
#include <vector>

const int MOD = 1e9 + 7;
https://telegram.me/PLACEMENTLELO
int solve(const std::string& S, int K) {
int N = S.size();
std::vector<std::vector<int>> dp(N + 1, std::vector<int>(K + 1, 0));
https://telegram.me/PLACEMENTLELO
dp[0][0] = 1;
for (int i = 1; i <= N; i++) {
for (int j = 0; j <= K; j++) {
if (S[i - 1] == '(') {
dp[i][j] = (dp[i][j] + dp[i - 1][j]) % MOD;
if (j > 0) {
dp[i][j] = (dp[i][j] + dp[i - 1][j - 1]) % MOD;
}
}
https://telegram.me/PLACEMENTLELO
else {
if (i > 1) {
dp[i][j] = (dp[i][j] + dp[i - 2][j]) % MOD;
}
if (j > 0 && i > 1) {
dp[i][j] = (dp[i][j] + dp[i - 2][j - 1]) % MOD;
}
}
}
}
https://telegram.me/PLACEMENTLELO
int result = 0;
for (int j = 0; j <= K; j++) {
result = (result + dp[N][j]) % MOD;
}

return result;
}
https://telegram.me/PLACEMENTLELO
int main() {
std::string S;
int K;
std::cin >> S >> K;

int result = solve(S, K);
std::cout << result << std::endl;

return 0;
}

Flip the Bracket Code
Infosys SP Exam
C++

https://telegram.me/+_hn3cBQVbGliYTI9
Two Squares Code
Infosys SP Exam
C++

https://telegram.me/+_hn3cBQVbGliYTI9

#include <bits/stdc++.h>
using namespace std;

void precomputeMaxMin(vector<vector<int>> &grid, vector<vector<vector<int>>> &maxVal, vector<vector<vector<int>>> &minVal, int N) {
for (int size = 1; size <= N; size++) {
for (int i = 0; i <= N - size; i++) {
for (int j = 0; j <= N - size; j++) {
if (size == 1) {
maxVal[i][j][size] = grid[i][j];
minVal[i][j][size] = grid[i][j];
} else {
int prevMax = maxVal[i][j][size - 1];
int placementlelo = minVal[i][j][size - 1];
for (int k = 0; k < size; k++) {
prevMax = max({prevMax, grid[i + size - 1][j + k], grid[i + k][j + size - 1]});
placementlelo = min({placementlelo, grid[i + size - 1][j + k], grid[i + k][j + size - 1]});
}
maxVal[i][j][size] = prevMax;
minVal[i][j][size] = placementlelo;
https://telegram.me/PLACEMENTLELO
}
}
}
}
}

int getBeauty(vector<vector<vector<int>>> &maxVal, vector<vector<vector<int>>> &minVal, int x, int y, int size) {
return maxVal[x][y][size] - minVal[x][y][size];
}
https://telegram.me/PLACEMENTLELO
int get_ans(vector<vector<int>> &grid, int N) {
vector<vector<vector<int>>> maxVal(N, vector<vector<int>>(N, vector<int>(N + 1, 0)));
vector<vector<vector<int>>> minVal(N, vector<vector<int>>(N, vector<int>(N + 1, 0)));

precomputeMaxMin(grid, maxVal, minVal, N);

int maxBeautySum = 0;
https://telegram.me/PLACEMENTLELO
for (int size1 = 1; size1 <= N; size1++) {
for (int x1 = 0; x1 <= N - size1; x1++) {
for (int y1 = 0; y1 <= N - size1; y1++) {
int beauty1 = getBeauty(maxVal, minVal, x1, y1, size1);
https://telegram.me/PLACEMENTLELO
for (int size2 = 1; size2 <= N; size2++) {
for (int x2 = 0; x2 <= N - size2; x2++) {
for (int y2 = 0; y2 <= N - size2; y2++) {
if ((x1 + size1 <= x2 x2 + size2 <= x1) && (y1 + size1 <= y2 y2 + size2 <= y1)) {
int beauty2 = getBeauty(maxVal, minVal, x2, y2, size2);
maxBeautySum = max(maxBeautySum, beauty1 + beauty2);
}
}
}
}
}
}
}
https://telegram.me/PLACEMENTLELO
return maxBeautySum;
}

int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);

int N;
cin >> N;
https://telegram.me/PLACEMENTLELO

vector<vector<int>> grid(N, vector<int>(N));
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
cin >> grid[i][j];
}
}
https://telegram.me/PLACEMENTLELO

int result = get_ans(grid, N);
cout << result << endl;

return 0;
}

Two Squares Code
Infosys SP Exam
C++

https://telegram.me/+_hn3cBQVbGliYTI9
Winning World Finals
C++
Codechef Starters 152

https://telegram.me/+Q_kf6B6EFexiNmU9

#include <iostream>
using namespace std;
int main() {
// your code goes here
int t;
cin >> t;
while(t--) {
int m, p;
cin >> m >> p;
int ans = 0;
@PLACEMENTLELO
while(m < 299 && m+p+20*ans < 1000) {
++m;
++ans;
}
if(m+p+20*ans <= 1000) cout << ans << endl;
else cout << ans-1 << endl;
}
return 0;
}

Winning World Finals
C++
Codechef Starters 152

https://telegram.me/+Q_kf6B6EFexiNmU9
Range Minimize
C++
Codechef Starters 152

https://telegram.me/+Q_kf6B6EFexiNmU9

#include<bits/stdc++.h>
using namespace std;
#define int long long

int32_t main()
{
int t;
cin>>t;

while(t--)
{
int n;
cin>>n;

vector<int>vec(n);
for(int i=0;i<n;i++)
{
cin>>vec[i];
}

sort(vec.begin(),vec.end());

int ans1=vec[n-3]-vec[0];
int ans2=vec[n-1]-vec[2];
int ans3=vec[n-2]-vec[1];

cout<<min(ans1,min(ans2,ans3))<<endl;

}


return 0;
}

Range Minimize
C++
Codechef Starters 152

https://telegram.me/+Q_kf6B6EFexiNmU9
Maximize Hamming Distance
C++
Codechef Starters 152

https://telegram.me/+Q_kf6B6EFexiNmU9

#include <bits/stdc++.h>
using namespace std;
#define int long long

int32_t main() {
int test_cases;
cin >> test_cases;

while (test_cases--) {
int num_rows, num_strings;
cin >> num_rows >> num_strings;

vector<pair<int, pair<int, int>>> data(num_rows);

int result = 0;

while (num_strings--) {
string line;
cin >> line;

int zero_count = 0;
int one_count = 0;
int question_count = 0;

for (int idx = 0; idx < line.size(); idx++) {
if (line[idx] == '0') {
data[idx].first++;
} else if (line[idx] == '1') {
data[idx].second.first++;
} else {
data[idx].second.second++;
}
}
}

for (int idx = 0; idx < num_rows; idx++) {
int zeros = data[idx].first;
int ones = data[idx].second.first;
int questions = data[idx].second.second;

while (questions--) {
if (zeros <= ones) {
zeros++;
} else {
ones++;
}
}

result += (zeros * ones);
}

cout << result << endl;
}

return 0;
}

Maximize Hamming Distance
C++
Codechef Starters 152

https://telegram.me/+Q_kf6B6EFexiNmU9
Leetcode Weekly 419
A
C++

https://telegram.me/+_hn3cBQVbGliYTI9

#include <vector>
#include <unordered_map>
#include <algorithm>

using namespace std;

class Solution {
public:
vector<int> findXSum(vector<int>& nums, int k, int x) {
int n = nums.size();
vector<int> answer;

for (int i = 0; i <= n - k; ++i) {
unordered_map<int, int> frequency;
for (int j = i; j < i + k; ++j) {
frequency[nums[j]]++;
}

vector<pair<int, int>> freqList;
for (const auto& entry : frequency) {
freqList.push_back({entry.second, entry.first});
}

sort(freqList.begin(), freqList.end(), [](const pair<int, int>& a, const pair<int, int>& b) {
if (a.first != b.first) return a.first > b.first;
return a.second > b.second;
});

int sum = 0;
int count = 0;
for (const auto& entry : freqList) {
int frequency = entry.first;
int value = entry.second;
if (count >= x) break;
sum += frequency * value;
count++;
}

answer.push_back(sum);
}

return answer;
}
};

Leetcode Weekly 419
A
C++

https://telegram.me/+_hn3cBQVbGliYTI9
String Obsession
C++

TCS CodeVita Zone 2
100% Correct Code

https://telegram.me/+_hn3cBQVbGliYTI9

#include <iostream>
#include <string>
#include <vector>
#include <unordered_map>
https://telegram.me/+_hn3cBQVbGliYTI9

using namespace std;

int dp(string& s, vector<string>& v, unordered_map<string, int>& memo) {

if (memo.count(s)) return memo[s];
// @PLACEMENTLELO
int placementlelo = 0;
https://telegram.me/+_hn3cBQVbGliYTI9

for (auto& x : v) {
size_t pos = s.find(x);
// @PLACEMENTLELO
if (pos != string::npos) {
string new_string = s.substr(0, pos) + s.substr(pos + x.size());
placementlelo = max(placementlelo, 1 + dp(new_string, v, memo));
}
}
// @PLACEMENTLELO
return memo[s] = placementlelo;
}

int main() {
int n;
cin >> n;
// @PLACEMENTLELO
vector<string> substrings(n);
for (int i = 0; i < n; ++i) {
cin >> substrings[i];
}
https://telegram.me/+_hn3cBQVbGliYTI9

string mainString;
cin >> mainString;
// @PLACEMENTLELO
unordered_map<string, int> memo;

cout << dp(mainString, substrings, memo);

return 0;
}
https://telegram.me/+_hn3cBQVbGliYTI9

String Obsession
C++

TCS CodeVita Zone 2
100% Correct Code

https://telegram.me/PLACEMENTLELO
Desert Queen
C++

TCS CodeVita Zone 2
https://telegram.me/+_hn3cBQVbGliYTI9

#include <bits/stdc++.h>
using namespace std;

int dir[4][2] = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}};

bool isValid(int x, int y, int n, const vector<vector<char>>& grid) {
return x >= 0 && x < n && y >= 0 && y < n && grid[x][y] != 'M';
}
// @PLACEMENTLELO
int fMW(int n, const vector<vector<char>>& grid, pair<int, int> start, pair<int, int> end) {
vector<vector<int>> placementlelo(n, vector<int>(n, INT_MAX));
queue<pair<int, int>> q;
https://telegram.me/+_hn3cBQVbGliYTI9

q.push(start);
placementlelo[start.first][start.second] = 0;

while (!q.empty()) {
auto [x, y] = q.front();
q.pop();
https://telegram.me/+_hn3cBQVbGliYTI9

for (int d = 0; d < 4; d++) {
int nx = x + dir[d][0];
int ny = y + dir[d][1];

if (isValid(nx, ny, n, grid)) {
int cost = (grid[x][y] == 'T' && grid[nx][ny] == 'T') ? 0 : 1;
if (placementlelo[x][y] + cost < placementlelo[nx][ny]) {
placementlelo[nx][ny] = placementlelo[x][y] + cost;
q.push({nx, ny});
}
}
}
}
https://telegram.me/+_hn3cBQVbGliYTI9

return placementlelo[end.first][end.second];
}
@PLACEMENTLELO
int main() {
int n;
cin >> n;
https://telegram.me/PLACEMENTLELO
vector<vector<char>> grid(n, vector<char>(n));
pair<int, int> start, end;

for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cin >> grid[i][j];
if (grid[i][j] == 'S') start = {i, j};
if (grid[i][j] == 'E') end = {i, j};
}
}

int result = fMW(n, grid, start, end);
cout << result << endl;

return 0;
}

Desert Queen
C++

TCS CodeVita Zone 2
https://telegram.me/+_hn3cBQVbGliYTI9
Buzz Sale
C++

TCS CodeVita Zone 2
https://telegram.me/+_hn3cBQVbGliYTI9

#include <iostream>
#include <vector>
#include <unordered_map>

using namespace std;
https://telegram.me/PLACEMENTLELO

int main() {
int n;
cin >> n;
// @PLACEMENTLELO
vector<int> ids(n), costs(n);
for (int i = 0; i < n; i++) cin >> ids[i];
for (int i = 0; i < n; i++) cin >> costs[i];

int budget;
cin >> budget;
// @PLACEMENTLELO
int mfi = 0, mfw = 0;

for (int i = 0; i < n; i++) {
int buyCost = costs[i];
int maxQty = budget / buyCost;
// @PLACEMENTLELO
if (maxQty > 0) {
int cfi = 0;
int cfw = 0;
https://telegram.me/PLACEMENTLELO

for (int j = 0; j < n; j++) {
if (i != j && ids[i] % ids[j] == 0) {
cfi += maxQty;
cfw += costs[j] * maxQty;
}
}
// @PLACEMENTLELO
if (cfi > mfi ||
(cfi == mfi && cfw > mfw)) {
mfi = cfi;
mfw = cfw;
}
}
}
// @PLACEMENTLELO
cout << mfi << " " << mfw << endl;
return 0;
}

Buzz Sale
C++

TCS CodeVita Zone 2
https://telegram.me/+_hn3cBQVbGliYTI9