Skip to content

Commit 82d235d

Browse files
authored
Merge pull request #14 from amajaying/amajaying-changed
Added 4 new leetcode Medium Question C++
2 parents 35b8476 + d1bb5bd commit 82d235d

8 files changed

+101
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
class Solution {
2+
3+
private:
4+
int indexOf(char c, vector<char> sym){
5+
for(int i=0; i<sym.size(); i++){
6+
if(sym[i]==c)
7+
return i;
8+
}
9+
return -1;
10+
}
11+
public:
12+
int romanToInt(string s) {
13+
vector<char> sym{'I','V','X','L','C','D','M'};
14+
vector<int> val{1,5,10,50,100,500,1000};
15+
16+
int ans = 0;
17+
int n = s.length();
18+
for(int i=0; i<n-1; i++){
19+
int x = indexOf(s[i], sym);
20+
int y = indexOf(s[i+1], sym);
21+
if(val[x]<val[y])
22+
ans-=val[x];
23+
else
24+
ans+=val[x];
25+
26+
}
27+
int x = indexOf(s[n-1], sym);
28+
ans+=val[x];
29+
30+
return ans;
31+
}
32+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
class Solution {
2+
public:
3+
vector<int> findClosestElements(vector<int>& arr, int k, int x) {
4+
vector<int> ans;
5+
int s = 0;
6+
int e= arr.size()-1;
7+
while(e-s>=k){
8+
if(x-arr[s]<=arr[e]-x)
9+
e--;
10+
else
11+
s++;
12+
}
13+
14+
for(int i=s; i<=e; i++){
15+
ans.push_back(arr[i]);
16+
}
17+
return ans;
18+
}
19+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
class Solution {
2+
public:
3+
vector<int> plusOne(vector<int>& digits) {
4+
int n = digits.size() - 1;
5+
6+
for (int i = n; i >= 0; --i){
7+
if (digits[i] == 9) {
8+
digits[i] = 0;
9+
}
10+
else {
11+
digits[i] += 1;
12+
return digits;
13+
}
14+
}
15+
digits.push_back(0);
16+
digits[0] = 1;
17+
return digits;
18+
}
19+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
class Solution {
2+
public:
3+
void sortColors(vector<int>& nums) {
4+
int cn0,cn1,cn2;
5+
cn0=cn1=cn2=0;
6+
7+
for(int i=0; i<nums.size(); i++){
8+
if(nums[i]==0)
9+
cn0++;
10+
else if(nums[i]==1)
11+
cn1++;
12+
else
13+
cn2++;
14+
}
15+
int k = 0;
16+
for(int i=0; i<cn0; i++){
17+
nums[k]=0;
18+
k++;
19+
}
20+
21+
for(int i=0; i<cn1; i++){
22+
nums[k]=1;
23+
k++;
24+
}
25+
26+
for(int i=0; i<cn2; i++){
27+
nums[k]=2;
28+
k++;
29+
}
30+
}
31+
};
Loading
Loading
Loading
Loading

0 commit comments

Comments
 (0)