Skip to content

Commit f764064

Browse files
committed
array
1 parent d54afbb commit f764064

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed

278-First-Bad-Version.cpp

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/*
2+
* 注意median如果用(begin + end) / 2的话,begin + end可能会溢出
3+
*/
4+
// Forward declaration of isBadVersion API.
5+
bool isBadVersion(int version);
6+
7+
class Solution {
8+
public:
9+
int firstBadVersion(int n) {
10+
int begin = 1, end = n, median;
11+
while(begin < end){
12+
median = begin + (end - begin) / 2;
13+
if(isBadVersion(median) == true){
14+
end = median;
15+
}
16+
else{
17+
begin = median + 1;
18+
}
19+
}
20+
return begin;
21+
}
22+
};
23+

35-Search-Insert-Position.cpp

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
class Solution {
2+
public:
3+
int searchInsert(vector<int>& nums, int target) {
4+
int begin = 0, end = nums.size() - 1, median;
5+
while(1){
6+
if(end < begin){
7+
return begin;
8+
}
9+
median = (begin + end) / 2;
10+
if(nums[median] > target){
11+
end = median - 1;
12+
}
13+
else if(nums[median] < target){
14+
begin = median + 1;
15+
}
16+
else{
17+
return median;
18+
}
19+
}
20+
}
21+
};
22+

0 commit comments

Comments
 (0)