您的位置:首页 > 其它

53. Maximum Subarray \ 35. Search Insert Position

2017-01-26 12:53 316 查看
Maximum Subarray

Search Insert Position

53. Maximum Subarray

这种题型一般就是使用DP来做。里面涉及的东西就是使用一个数组存储每次增加一个数字以后的最大数。

class Solution {
public:
int maxSubArray(vector<int>& nums) {
int n = nums.size();
int *dp = new int
;//dp[i] means the maximum subarray ending with A[i];
dp[0] = nums[0];
int max_tmp = dp[0];

for(int i = 1; i < n; i++){
dp[i] = nums[i] + (dp[i - 1] > 0 ? dp[i - 1] : 0);
max_tmp = max(max_tmp, dp[i]);
}

delete []dp;

return max_tmp;
}
};


35. Search Insert Position

class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int nums_len = nums.size() - 1;
int i = 0;

for(i = 0; i <= nums_len; i++) {
if(nums[i] >= target) return i;
if(nums[nums_len] < target) return nums_len + 1;
else if(nums[nums_len] == target) return nums_len;
else nums_len--;
}

return i;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  53 leetcode 35 maximum