做python一个网站餐饮营销方案
小算法:
通过一次遍历找到数组中最大值出现的次数:
利用这个小算法求解这道题就会非常简单了。
参考代码:
class Solution {
public:int findNumberOfLIS(vector<int>& nums) {int n=nums.size();vector<int> len(n,1);auto count=len;int retcount=1;int retlen=1;//求最长递增子序列的长度并统计不同长度子序列的个数for(int i=1;i<n;i++){for(int j=0;j<i;j++){if(nums[j]<nums[i]){if(len[j]+1==len[i]){count[i]+=count[j];}else if(len[j]+1>len[i]){count[i]=count[j];len[i]=len[j]+1;}}}//统计最长递增子序列出现的个数if(len[i]>retlen){retcount=count[i];retlen=len[i];}else if(len[i]==retlen){retcount+=count[i];}}return retcount;}
};