File tree Expand file tree Collapse file tree 3 files changed +80
-0
lines changed Expand file tree Collapse file tree 3 files changed +80
-0
lines changed Original file line number Diff line number Diff line change
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
+ };
Original file line number Diff line number Diff line change
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
+ };
Original file line number Diff line number Diff line change
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
+ };
You can’t perform that action at this time.
0 commit comments