Skip to content

Commit 7b01b39

Browse files
Merge pull request #8 from Souravrao-31/souravrao
Leetcode Sols
2 parents 61f7206 + 5d60e5f commit 7b01b39

File tree

3 files changed

+80
-0
lines changed

3 files changed

+80
-0
lines changed

56.cpp

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
class Solution {
2+
public:
3+
vector<vector<int>> merge(vector<vector<int>>& intervals) {
4+
vector<int>arr(2);
5+
vector<vector<int>>ans;
6+
if(intervals.size()==0) return ans;
7+
sort(intervals.begin(),intervals.end());
8+
arr[0]=intervals[0][0];arr[1]=intervals[0][1];
9+
for(int i=1;i<intervals.size();i++)
10+
{ if(arr[1]>=intervals[i][0])
11+
arr[1]=max(intervals[i][1],arr[1]);
12+
else
13+
{ ans.push_back({arr[0],arr[1]});
14+
arr[0]=intervals[i][0];
15+
arr[1]=intervals[i][1];
16+
}
17+
}
18+
ans.push_back({arr[0],arr[1]});
19+
return ans;
20+
}
21+
};

59.cpp

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
class Solution {
2+
public:
3+
4+
vector<vector<int>> generateMatrix(int n) {
5+
vector<vector<int>> matrix;
6+
matrix.resize(n, std::vector<int>(n, -1));
7+
8+
int top = 0;
9+
int bottom = n-1;
10+
int left = 0;
11+
int right = n-1;
12+
int val = 1;
13+
while (left<=right) {
14+
15+
for (int i = left;i<=right;i++) {
16+
matrix[left][i] = val++;
17+
}
18+
top++;
19+
20+
for (int i = top;i<=bottom;i++) {
21+
matrix[i][right] = val++;
22+
}
23+
right--;
24+
for (int i = right;i>=left;i--) {
25+
matrix[bottom][i] = val++;
26+
}
27+
bottom--;
28+
for (int i = bottom;i>=top;i--) {
29+
matrix[i][left] = val++;
30+
}
31+
left++;
32+
}
33+
return matrix;
34+
}
35+
};

60.cpp

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
class Solution {
2+
public:
3+
string getPermutation(int n, int k) {
4+
string st(n,'0');
5+
int fact=1;
6+
for(int i=1;i<=n;i++){
7+
fact*=i;
8+
st[i-1]+=(i);
9+
}
10+
for(int i=0;i<n;i++){
11+
int block_num=fact/(n-i);
12+
fact/=(n-i);
13+
int first_index=i+(k-1)/(block_num);
14+
char c=st[first_index];
15+
k=k-(((k-1)/(block_num))*(block_num));
16+
for(int j=first_index;j>=i+1;j--){
17+
st[j]=st[j-1];
18+
}
19+
st[i]=c;
20+
cout<<st<<" "<<k<<" ";
21+
}
22+
return st;
23+
}
24+
};

0 commit comments

Comments
 (0)