Skip to content

Commit e542806

Browse files
committed
more solutions
1 parent 588ff4b commit e542806

13 files changed

+106
-5
lines changed

Easy difficulty/README.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
# LeetCode Submissions
2-
My archive for leet code problem submissions
2+
my profile : https://leetcode.com/arthav24/
3+
leet code problem submissions
4+
Difficulty : Easy

Easy difficulty/climb.cpp

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#include <iostream>
2+
#include <bits/stdc++.h>
3+
using namespace std;
4+
int climbStairs(int n)
5+
{
6+
if (n <= 0)
7+
return 0;
8+
else
9+
{
10+
int stair[n + 1];
11+
stair[0] = 1;
12+
stair[1] = 1;
13+
for (int i = 2; i <= n; i++)
14+
stair[i] = stair[i - 1] + stair[i - 2];
15+
16+
return stair[n];
17+
}
18+
}
19+
int main()
20+
{
21+
cout << climbStairs(4);
22+
23+
return 0;
24+
}
File renamed without changes.

Medium difficulty/README.md

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# LeetCode Submissions
2+
my profile : https://leetcode.com/arthav24/
3+
leet code problem submissions
4+
Difficulty : Medium

Medium difficulty/firstnlastpos.cpp

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
int extremeInsertionIndex(vector<int> nums, int target, bool l) {
2+
int left = 0;
3+
int right = nums.size();
4+
5+
while (left < right) {
6+
int mid = left+(right-left) / 2;
7+
if (nums[mid] > target || (l && target == nums[mid])) {
8+
right = mid;
9+
}
10+
else {
11+
left = mid+1;
12+
}
13+
}
14+
15+
return left;
16+
}
17+
vector<int> searchRange(vector<int>& nums, int target) {
18+
vector<int> r = {-1, -1};
19+
20+
int leftIdx = extremeInsertionIndex(nums, target, true);
21+
if (leftIdx == nums.size() || nums[leftIdx] != target) {
22+
return r;
23+
}
24+
25+
r[0] = leftIdx;
26+
r[1] = extremeInsertionIndex(nums, target, false)-1;
27+
28+
return r;
29+
}
+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
int findMin(vector<int>& nums) {
2+
if (nums.size()== 1)
3+
return nums[0];
4+
int left = 0, right = nums.size() - 1;
5+
if (nums[right] > nums[0]) {
6+
return nums[0];
7+
}
8+
while (right >= left) {
9+
int mid = left + (right - left) / 2;
10+
if (nums[mid] > nums[mid + 1]) {
11+
return nums[mid + 1];
12+
}
13+
if (nums[mid - 1] > nums[mid]) {
14+
return nums[mid];
15+
}
16+
if (nums[mid] > nums[0]) {
17+
left = mid + 1;
18+
} else {
19+
right = mid - 1;
20+
}
21+
}
22+
return -1;
23+
}

Medium difficulty/peakelement.cpp

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
int findPeakElement(vector<int>& nums) {
2+
vector<int> ori(nums);
3+
if(nums.size() == 0)
4+
return -1;
5+
make_heap(nums.begin(),nums.end());
6+
return (find(ori.begin(),ori.end(),nums.front())-ori.begin());
7+
8+
}
+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
int search(vector<int>& nums, int target) {
2+
vector<int> ori(nums);
3+
sort(nums.begin(),nums.end());
4+
int left=0,right=nums.size()-1;
5+
while(left<=right){
6+
int mid=left+(right-left)/2;
7+
if(nums.at(mid)==target) return (find(ori.begin(),ori.end(),nums.at(mid))-ori.begin());
8+
else if(nums.at(mid)<target) left=mid+1;
9+
else right=mid-1;
10+
}
11+
return -1;
12+
}

README.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# LeetCode Submissions
2+
My archive for leet code problem submissions
3+
my profile : https://leetcode.com/arthav24/

Easy difficulty/binary tree.cpp renamed to binary tree.cpp

-4
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,6 @@ void inorder(struct node *root)
3535
inorder(root->right);
3636
}
3737
}
38-
int romanToInt(string s)
39-
{
40-
}
4138

4239
int main()
4340
{
@@ -52,6 +49,5 @@ int main()
5249
insert(root, 1);
5350
inorder(root);
5451

55-
//cout<<romanToInt("II");
5652
return 0;
5753
}
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)