Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Week_1_Sejal.Aloria #138

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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 Week1/Count Negative Nos/Sejal Aloria
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
class Solution {
public:
int countNegatives(vector<vector<int>>& grid) {
int count = 0;

for(int i=0;i<grid.size();i++){
for(int j=0;j<grid[i].size();j++){
if(grid[i][j]<0)
count++;
}
}
return count;
}
};
21 changes: 21 additions & 0 deletions Week1/Count and Say/Sejal Aloria
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
class Solution {
public:
string countAndSay(int n) {
string s = "1";
while(--n){
string newstring;
int i=0;
while(i<s.size()){
int count = 1;
while(i+1 < s.size() && s[i]==s[i+1]){
i++;
count++;
}
newstring += to_string(count)+s[i];
i++;
}
s = newstring;
}
return s;
}
};
12 changes: 12 additions & 0 deletions Week1/Max Subarray/Sejal Aloria
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int cs=nums[0];
int ms=nums[0];
for(int i=1;i<nums.size();i++){
ms = max(nums[i], ms + nums[i]);
cs = max(cs,ms);
}
return cs;
}
};
12 changes: 12 additions & 0 deletions Week1/Missing no/Sejal Aloria
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
class Solution {
public:
int missingNumber(vector<int>& nums) {
int n = nums.size();
int sum=0;
int calsum = n*(n+1)/2;
for(int i=0;i<nums.size();i++){
sum=sum+nums[i];
}
return calsum-sum;
}
};
11 changes: 11 additions & 0 deletions Week1/Monotonic Array/Sejal Aloria
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
class Solution {
public:
bool isMonotonic(vector<int>& A)
{
auto inc = (A.front() <= A.back());
for (int i=1; i<A.size(); ++i)
if ((A[i] < A[i-1] && inc) || (A[i] > A[i-1] && !inc))
return false;
return true;
}
};
22 changes: 22 additions & 0 deletions Week1/Move Zeroes/Sejal Aloria
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
class Solution {
public:
void moveZeroes(vector<int>& nums) {
int numszero = 0;
for(int i=0;i<nums.size();i++){
if(nums[i]==0)
numszero++;
}
vector<int>ans;
for(int i=0;i<nums.size();i++){
if(nums[i]!=0)
ans.push_back(nums[i]);
}
while(numszero--){
ans.push_back(0);
}

for(int i=0;i<nums.size();i++){
nums[i]=ans[i];
}
}
};
15 changes: 15 additions & 0 deletions Week1/Pascal Triangle/Sejal Aloria
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
class Solution {
public:
vector<vector<int>> generate(int numRows) {
vector<vector<int>>ans;
for(int i=0;i<numRows;i++){
vector<int>row(i+1,1);
for(int j=1;j<i;j++){
row[j] = ans[i-1][j] + ans[i-1][j-1];

}
ans.push_back(row);
}
return ans;
}
};
17 changes: 17 additions & 0 deletions Week1/Pivot Index/Sejal Aloria
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
class Solution {
public:
int pivotIndex(vector<int>& nums) {
int sum = 0;
for(int i:nums){
sum+=i;
}
int left = 0;
for(int i=0;i<nums.size();i++){
if(sum-left-nums[i]==left){
return i;
}
left+=nums[i];
}
return -1;
}
};
18 changes: 18 additions & 0 deletions Week1/Product Of Array/Sejal Aloria
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
class Solution {
public:
vector<int> productExceptSelf(vector<int>& nums) {
int n = nums.size();
int left = 1, right = 1;
vector<int>v;
for(int i=0;i<n;i++){
v.push_back(left);
left=left*nums[i];
}
for(int i=n-1;i>=0;i--){
v[i]=v[i]*right;
right=right*nums[i];
}
return v;

}
};
7 changes: 7 additions & 0 deletions Week1/Remove Duplicates/Sejal Aloria
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
return unique(nums.begin(), nums.end()) - nums.begin();

}
};
11 changes: 11 additions & 0 deletions Week1/Rotate Array/Sejal Aloria
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
class Solution {
public:
void rotate(vector<int>& nums, int k) {
int n=nums.size();
k = k%n;
reverse(nums.begin(),nums.begin()+n-k);
reverse(nums.begin()+n-k,nums.end());
reverse(nums.begin(),nums.end());

}
};
41 changes: 41 additions & 0 deletions Week1/Spiral Matrix/Sejal Aloria
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
class Solution {
public:
vector<int> spiralOrder(vector<vector<int>>& matrix) {

/*t->*/ int startrow = 0, /*b->*/ endrow = matrix.size();
/*L->*/ int startcol = 0, /*r->*/ endcol = matrix[0].size();
vector<int>res;

while(startrow<endrow and startcol<endcol){

//startrow
for(int i=startcol;i<endcol;i++)
res.push_back(matrix[startrow][i]);
startrow++;
if(startrow==endrow)
break;


//endcol
for(int i=startrow;i<endrow;i++)
res.push_back(matrix[i][endcol-1]);
endcol--;
if(startcol==endcol)
break;

//endrow
for(int i=endcol-1;i>=startcol;i--)
res.push_back(matrix[endrow-1][i]);
endrow--;
if(startrow==endrow)
break;

//startcol
for(int i=endrow-1;i>=startrow;i--)
res.push_back(matrix[i][startcol]);
startcol++;

}
return res;
}
};
10 changes: 10 additions & 0 deletions Week1/Target Array/Sejal Aloria
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
class Solution {
public:
vector<int> createTargetArray(vector<int>& nums, vector<int>& index) {
vector<int>ans;
for(int i=0;i<index.size();i++){
ans.emplace(ans.begin()+index[i],nums[i]);
}
return ans;
}
};
19 changes: 19 additions & 0 deletions Week1/Valid Palindrome/Sejal Aloria
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
class Solution {
public:
bool isPalindrome(string s) {
int i=0, j=s.size()-1;
while(i<j){
if(!isalnum(s[i]))
i++;
if(!isalnum(s[j]))
j--;
if(isalnum(s[i]) && isalnum(s[j])){
if(tolower(s[i])!=tolower(s[j]))
return false;
i++;
j--;
}
}
return true;
}
};
12 changes: 12 additions & 0 deletions Week1/Xor operation/Sejal Aloria
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
class Solution {
public:
int xorOperation(int n, int start) {
int nums[n];
int ans=0;
for(int i=0;i<n;i++){
nums[i] = start + 2*i;
ans = ans^nums[i];
}
return ans;
}
};