注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号
x
bool isNumber(string number){
int i = 0;
// head spaces
while (number[i] == ' ')
i++;
// + / - symbol
if(number[i] == '+' || number[i] == '-')
i++;
int nDigit = 0, nPoint = 0;
while ((number[i] <= '9' && number[i] >= '0') || s[i] == '.'){
if (number[i] == '.')
nPoint++;
else
nDigit++;
i++;
}
if (number[i - 1] == '.') return false;
if (nPoint > 1) return false;
if (nDigit < 1) return false;
while (number[i] == ' ')
i++;
if (i == number.length()) return true;
else false;
}
10.
e5
-0.23
-e
-+
Thus, given the sequence (1, 2, -4, 1, 3, -2, 3, -1) it should return 5.
Maximum sum of the contigous subsequence
int maxSubsequence(vector<int>nums){
int n = nums.size();
if (n == 0) return 0;
int ans = nums[0], current = nums[0];
for (int i = 1; i < n; i++){
current = max(current + nums[i], nums[i]);
ans = max(ans, current);
}
return ans;
}
// current: 1, 3, -1, 1, 4, 2, 5, 4
// ans: 1, 3, 3, including price[i]
for (int i = lo + 3; i < hi; i++)
dp[i] = price[i] + max(dp[i - 2], dp[i - 3]);// do not consider dp[i - 1];
// dp[i - 1] will affect dp[i + 1] but not dp[i];
return max(dp[n - 1], dp[n - 2]);
}
double maxPrice2(vector<double>price){
int n = price.size();
if (n == 0) return 0;
if (n == 1) return price[0];
return max(maxPrice(price, 0, n - 2), maxPrice(1, n - 1));
}
};
// 1. maxPrice(price, 0, n - 2)
// 2. maxPrice(price, 1, n - 1);
// return max(maxPrice(price, 0, n - 2), maxPrice(price, 1, n - 1));
|