赞
踩
第一题
class Solution { public: int distinctAverages(vector<int>& nums) { int n=nums.size(); int i=0,j=n-1; sort(nums.begin(),nums.end()); int a,b; set<double>s; double t=-1.0; while(i<n/2){ a=nums[i];//min b=nums[j];//max t=(a+b)*1.0/2; s.insert(t); i++; j--; } int l=s.size(); return l; } };
第二题 简单dp——类似于爬楼梯
class Solution {
public:
int countGoodStrings(int low, int high, int zero, int one) {
const int MOD=1e9+7;
vector<int>f(high+1);
f[0]=1;
int ans=0;
for(int i=1;i<=high;i++){
if(i>=one)f[i]=(f[i]+f[i-one])%MOD;
if(i>=zero)f[i]=(f[i]+f[i-zero])%MOD;
if(i>=low)ans=(f[i]+ans)%MOD;
}
return ans;
}
};
第三题,第四题不会
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。