53. Maximum Subarray \ 35. Search Insert Position

来源:互联网 发布:mysql 主键作用 编辑:程序博客网 时间:2024/06/14 14:40

  • 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[n];//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;    }};
0 0
原创粉丝点击