Exercises II
Easy: 2; Medium: 3; Hard: 1
Search Insert Position
原题链接:https://leetcode.com/problems/search-insert-position/
难度: easy
参考解法:
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int i=0,site=0;
while(i<nums.size()){
if(nums[i]<target) site++;
i++;
}
return site;
}
};Binary Search
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int min=0;
int max=nums.size()-1;
if (target<nums[min]) {return min;}
else if(target>nums[max]) {return max+1;}
else{
while(min<=max){
int mid=min + (max-min)/2;
if(target<=nums[mid]) {max=mid-1; }
else {min=mid+1;}
}
return min;
}
}
};First Bad Version
原题链接:https://leetcode.com/problems/first-bad-version/
难度:easy
参考解答:
Linear search 超时
Binary search Accepted
Find First and Last Position of Element in Sorted Array
原题链接:https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array/
难度:medium
参考解答:
Sum of Mutated Array Closest to Target
原题链接:https://leetcode.com/problems/sum-of-mutated-array-closest-to-target/
难度:medium
题意分析:给定一个数组arr和一个整数target。
给出一个数值value,使其满足在arr中比value大的值改成value之后,arr中数的总和最接近target。
这个value可以是不是数组中的数。
Input: arr = [4,9,3], target = 10
Output: 3
Explanation: When using 3 arr converts to [3, 3, 3] which sums 9 and that's the optimal answer.
Input: arr = [2,3,5], target = 10
Output: 5
Input: arr = [60864,25176,27249,21296,20204], target = 56803
Output: 11361
提示:ternary search/binary search
参考解法:
Returns the integral value that is nearest to x, with halfway cases rounded away from zero.
Find Minimum in Rotated Sorted Array
原题链接:https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/
难度:medium
参考解法:
Find Minimum in Rotated Sorted Array II
原题链接:https://leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii/
难度:hard
参考解法:
最后更新于