注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号
x
大家好!!! 最近开始刷leetcode 发现一个maximum subarray 和3SUM closest 的答案里面都有 用INT_MIN 和INI_MAX。在网上查并没有很好地解释,求指导谢谢大神们
[size=9.000000pt]class Solution {
public:
[size=9.000000pt] int threeSumClosest(vector<int>& nums, int target) { int result = 0; [size=9.000000pt] int min_gap = INT_MAX; [size=9.000000pt] sort(nums.begin(), nums.end()); [size=9.000000pt] for (auto a = nums.begin(); a != prev(nums.end(), 2); ++a) { auto b = next(a); auto c = prev(nums.end()); [size=9.000000pt] while (b < c) { const int sum = *a + *b + *c; const int gap = abs(sum - target);
[size=10.000000pt]14
[size=9.000000pt] [size=9.000000pt]2[size=9.000000pt]
file:///page20image1232 [size=9.000000pt] if (gap < min_gap) { result = sum; [size=9.000000pt] min_gap = gap; } [size=9.000000pt] if (sum < target) ++b; [size=9.000000pt]else --c;}
[size=9.000000pt]}
[size=9.000000pt] return result;}
[size=9.000000pt]};
[size=9.000000pt]
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int f = 0;
int result=INT_MIN;
for (int i = 0; i < nums.size(); ++i) {
f = max(f + nums[i], nums[i]);
result = max(result, f);
}
return result;
}
};
|