Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
94d34f7
Added README file - day1
lakshmisswetha Mar 17, 2025
66c8651
Added README file - day1
lakshmisswetha Mar 17, 2025
2f7d4fa
Added README file - day1
lakshmisswetha Mar 17, 2025
9c1ad8a
Added README file - day1
lakshmisswetha Mar 17, 2025
408f72b
Added README file
lakshmisswetha Mar 17, 2025
8a54e53
Added solution for two sum /day-1
lakshmisswetha Mar 17, 2025
a9b0fbd
Completed two-sum/day-2
lakshmisswetha Mar 18, 2025
cb27233
Completed buy & sell stocks - 1/day-3
lakshmisswetha Mar 19, 2025
dad7ca1
added solution for contains duplicates/day-4
lakshmisswetha Mar 20, 2025
c176963
added soln to get_sum
lakshmisswetha Mar 21, 2025
ecb690f
added soln to product except self
lakshmisswetha Mar 22, 2025
6c0635a
added soln to maximum sum subarray
lakshmisswetha Mar 23, 2025
0098670
added soln to max product subarray
lakshmisswetha Mar 24, 2025
3bb9d00
added soln to minimum in rotated sorted array
lakshmisswetha Mar 25, 2025
650ef7a
added soln to search in rotated sorted array
lakshmisswetha Mar 26, 2025
adddb93
added soln to 3sum
lakshmisswetha Mar 27, 2025
3aebdc6
container with max water
lakshmisswetha Mar 28, 2025
2043b38
added soln to count no of set bits
lakshmisswetha Mar 29, 2025
a0c78b9
added soln to counting bits
lakshmisswetha Mar 30, 2025
8cc5b67
missing no soln added
lakshmisswetha Mar 31, 2025
6d5bbee
added soln to reverse bit
lakshmisswetha Apr 1, 2025
c550f1e
added soln to climbing stairs
lakshmisswetha Apr 2, 2025
4fd928d
soln to coin change
lakshmisswetha Apr 3, 2025
6e5a53a
added soln to longest increasing subsequence
lakshmisswetha Apr 4, 2025
8cefb21
added soln to longet common subsequence
lakshmisswetha Apr 5, 2025
092c8cf
added soln to word break
lakshmisswetha Apr 6, 2025
2c40efa
added soln to combination sum 4
lakshmisswetha Apr 7, 2025
9f0dc63
added soln to house robber
lakshmisswetha Apr 8, 2025
ffb6adc
added soln for house robber 2
lakshmisswetha Apr 9, 2025
541b357
added soln for decode ways
lakshmisswetha Apr 10, 2025
621c125
added soln to unique paths
lakshmisswetha Apr 11, 2025
ba0a48a
added soln to jump game
lakshmisswetha Apr 12, 2025
40a006c
added soln to clone graph
lakshmisswetha Apr 13, 2025
6fd05c9
added soln for course schedule
lakshmisswetha Apr 14, 2025
7a07fd9
added soln to pacific atlantic water flow
lakshmisswetha Apr 15, 2025
5581c06
added soln to number of islands
lakshmisswetha Apr 16, 2025
fd3dd5f
added soln for longest consecutive sequence
lakshmisswetha Apr 17, 2025
8ac474a
added soln to building where alice - bob meet
lakshmisswetha Apr 18, 2025
b907a26
added soln to maximum star sum of a graph
lakshmisswetha Apr 19, 2025
141f870
added soln to count unreachable pairs of nodes
lakshmisswetha Apr 20, 2025
b369795
added soln to insert interval
lakshmisswetha Apr 21, 2025
d19bc68
added soln to merge intervals
lakshmisswetha Apr 22, 2025
899db4c
added soln to overlapping intervals
lakshmisswetha Apr 23, 2025
2c629c8
added soln to non overlapping intervals
lakshmisswetha Apr 23, 2025
7375095
added soln to meeting rooms
lakshmisswetha Apr 24, 2025
9f92713
added soln to meeting rooms II
lakshmisswetha Apr 25, 2025
1cc57ca
added soln to reverse linked list
lakshmisswetha Apr 26, 2025
73ae00c
added soln to detect cycle in linked list
lakshmisswetha Apr 27, 2025
9c793f4
added soln to merge two sorted linked list
lakshmisswetha Apr 28, 2025
423e390
added soln for merge k sorted linked list
lakshmisswetha Apr 29, 2025
18cf877
added soln to remove node from end
lakshmisswetha Apr 30, 2025
ac7fd74
added soln to reorder linked list
lakshmisswetha May 1, 2025
df691d8
added soln to set matrix zeroes
lakshmisswetha May 2, 2025
c3bf112
added soln to spiral matrix
lakshmisswetha May 3, 2025
ffb94b7
added soln to rotate matrix
lakshmisswetha May 4, 2025
d8bcc68
added soln to word earch
lakshmisswetha May 5, 2025
0daa928
added soln to longest substring without repeating characters
lakshmisswetha May 6, 2025
da3bd3c
added soln to longest repeating character replacement
lakshmisswetha May 7, 2025
aadfb95
added soln for minimum window substring
lakshmisswetha May 10, 2025
aed674c
added soln for is anagram
lakshmisswetha May 10, 2025
9f2afc1
added soln for group anagrams
lakshmisswetha May 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions Challenge-1/two_sum.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
unordered_map <int ,int> mpp;
for (int i=0; i<nums.size(); i++){
int more = target-nums[i];
if (mpp.find(more)!=mpp.end()){
return {mpp[more],i};
}
mpp[nums[i]] = i;
}
return {-1,-1};
}
};
30 changes: 30 additions & 0 deletions Challenge-10/search_rot_array.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
class Solution {
public:
int search(vector<int>& nums, int target) {

int low = 0;
int high = nums.size()-1;
while(low<=high){
int mid = (low + high)/2;
if (nums[mid]==target) return mid;
if (nums[low]<= nums[mid]){
if (nums[low]<= target && nums[mid]>target){
high = mid-1;
}
else {
low = mid+1;
}
}
else{
if(nums[mid]<target && nums[high]>=target){
low = mid+1;
}
else{
high = mid-1;
}
}
}
return -1;

}
};
33 changes: 33 additions & 0 deletions Challenge-11/3sum.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
class Solution {
public:
vector<vector<int>> threeSum(vector<int>& nums) {

int n = nums.size();
sort(nums.begin(),nums.end());
vector<vector<int>> res;
for (int i=0; i<n; i++){
if (i>0 && nums[i]==nums[i-1]) continue;
int j = i + 1;
int k = n - 1;
while (j<k){
int sum = nums[i]+nums[j]+nums[k];
if (sum<0){
j++;
}
else if (sum>0){
k--;
}
else {
vector <int> ans = {nums[i],nums[j],nums[k]};
res.push_back(ans);
j++;
k--;
while(j<k && nums[j]==nums[j-1])j++;
while(j<k && nums[k]==nums[k+1])k--;
}
}
}
return res;

}
};
18 changes: 18 additions & 0 deletions Challenge-12/max_water_contain.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
class Solution {
public:
int maxArea(vector<int>& height) {
int left = 0;
int right = height.size()-1;
int maxVol = 0;

for (int i = left;i<height.size();i++){
int vol = min(height[left],height[right])*(right-left);
maxVol = max(vol,maxVol);
if (height[left]<height[right])left++;
else right--;
}

return maxVol;

}
};
14 changes: 14 additions & 0 deletions Challenge-13/no_of_set_bits.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
class Solution {
public:
int hammingWeight(int n) {

int count = 0;
while(n>0){
n &= (n-1);
count ++;
}

return count;

}
};
10 changes: 10 additions & 0 deletions Challenge-14/counting_bits.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
class Solution {
public:
vector<int> countBits(int n) {
vector <int> ans(n+1);
for (int i=0;i<=n;i++){
ans[i]=ans[i/2]+(i%2);
}
return ans;
}
};
14 changes: 14 additions & 0 deletions Challenge-15/missing_no.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
class Solution {
public:
int missingNumber(vector<int>& nums) {
int n = nums.size();
int sum = (n*(n+1))/2;
int curr = 0;

for (int num: nums){
curr+=num;
}
return sum-curr;

}
};
12 changes: 12 additions & 0 deletions Challenge-16/reverse_bits.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
class Solution {
public:
uint32_t reverseBits(uint32_t n) {
uint32_t res = 0;
for (int i=0;i<32;i++){
res = (res << 1) | (n&1);
n>>=1;
}
return res;

}
};
15 changes: 15 additions & 0 deletions Challenge-17/climbing_stairs.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
class Solution {
public:
int climbStairs(int n) {

static int memo[46] = {0};

if (n==1)return 1;
if(n==2)return 2;
if(memo[n]!=0)return memo[n];

memo[n] = climbStairs(n-1) + climbStairs(n-2);
return memo[n];

}
};
16 changes: 16 additions & 0 deletions Challenge-18/coin_change.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
class Solution {
public:
int coinChange(vector<int>& coins, int amount) {
vector<int> dp(amount + 1, INT_MAX);
dp[0] = 0;

for (int coin : coins) {
for (int i = coin; i <= amount; i++) {
if (dp[i - coin] != INT_MAX) {
dp[i] = min(dp[i], dp[i - coin] + 1);
}
}
}
return (dp[amount] == INT_MAX) ? -1 : dp[amount];
}
};
21 changes: 21 additions & 0 deletions Challenge-19/longest_incr_subseq.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
class Solution {
public:
int lengthOfLIS(vector<int>& nums) {
int n = nums.size();
vector <int> temp;
temp.push_back(nums[0]);

for (int i=1;i<n;i++){
if (nums[i]>temp.back()){
temp.push_back(nums[i]);
}else{
int idx = lower_bound(temp.begin(),temp.end(),nums[i])-temp.begin();
temp[idx] = nums[i];
}
}

return temp.size();


}
};
16 changes: 16 additions & 0 deletions Challenge-2/two_sum.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {

unordered_map <int,int> mpp;
for (int i=0;i<nums.size();i++){
int more = target-nums[i];
if(mpp.find(more)!=mpp.end()){
return {mpp[more],i};
}
mpp[nums[i]]=i;
}

return {-1,-1};
}
};
24 changes: 24 additions & 0 deletions Challenge-20/long_common_subseq.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
class Solution {
public:

int f(int i, int j, string &text1, string &text2,vector<vector<int>> &dp){
if(i<0 || j<0) return 0;

if(dp[i][j]!=-1) return dp[i][j];
if(text1[i]==text2[j]) return dp[i][j] = 1 + f(i-1,j-1,text1,text2,dp);

return dp[i][j] = max(f(i-1,j,text1,text2,dp),f(i,j-1,text1,text2,dp));
}


int longestCommonSubsequence(string text1, string text2) {

int n = text1.size();
int m = text2.size();

vector<vector<int>>dp(n,vector<int>(m,-1));

return f(n-1,m-1,text1,text2,dp);

}
};
27 changes: 27 additions & 0 deletions Challenge-21/word_break.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
class Solution {
public:
int dp[301];

int helper(int i, string s, set<string>&wordDict){

if(s.size()==i) return 1;
string temp;
if(dp[i]!=-1) return dp[i];
for (int j= i;j<s.size();j++){
temp+=s[j];
if(wordDict.find(temp)!=wordDict.end()){
if(helper(j+1,s,wordDict))return dp[i] = 1;
}
}
return dp[i] = 0;
}


bool wordBreak(string s, vector<string>& wordDict) {

set<string>st;
memset(dp, -1, sizeof dp);
for (auto a:wordDict) st.insert(a);
return helper(0,s,st);
}
};
25 changes: 25 additions & 0 deletions Challenge-22/combination_sum_iv.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
class Solution {
public:
int combinationSum4(vector<int>& nums, int target) {

vector<int>dp (target+1,-1);
dp[0]=1;
return helper(nums,target,dp);

}

int helper (vector<int>&nums, int target, vector<int>& dp){
if(dp[target]!=-1) return dp[target];

int res = 0;
for (int num : nums){
if (target>=num){
res += helper(nums,target-num, dp);
}
}

dp[target] = res;
return res;

}
};
15 changes: 15 additions & 0 deletions Challenge-23/house_robber.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
class Solution {
public:
int rob(vector<int>& nums) {

int pre1,pre2 = 0;
for(int num : nums){
int temp = pre1;
pre1 = max ((num + pre2),pre1);
pre2 = temp;

}
return pre1;

}
};
24 changes: 24 additions & 0 deletions Challenge-24/house_robber2.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
class Solution {
public:

int helper(vector<int> &nums,int start, int end){
int prev1 =0, prev2 = 0;
for (int i=start; i<=end; i++){
int temp = prev1;
prev1 = max(prev2 + nums[i], prev1);
prev2 = temp;
}
return prev1;
}
int rob(vector<int>& nums) {

int n = nums.size();
if (n==0) return 0;
if (n==1) return nums[0];
if (n==2) return max (nums[0],nums[1]);

return max(helper(nums,0,n-2), helper(nums,1,n-1));


}
};
23 changes: 23 additions & 0 deletions Challenge-25/decode_ways.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
int numDecodings(string s) {
if (s.empty() || s[0] == '0') return 0;

int prev = 1, curr = 1;

for (int i = 1; i < s.length(); i++) {
int temp = 0;


if (s[i] != '0') {
temp += curr;
}
int twoDigit = stoi(s.substr(i - 1, 2));
if (twoDigit >= 10 && twoDigit <= 26) {
temp += prev;
}

prev = curr;
curr = temp;
}

return curr;
}
Loading