当前位置: 首页 > wzjs >正文

java快速建站seopc流量排行榜企业

java快速建站,seopc流量排行榜企业,企业网站怎么建站,学做网站需要买什么书题目链接 题意 给定一个数组 求任意一个子数组和的绝对值的最大值(子数组可以为空) 方法一 对于最大子段和、最小子段和分别动态规划 最后对abs取max 思路 dpmx[i]表示以nums[i]结尾的子段中最大子段和 dpmn[i]表示以nums[i]结尾的子段中最小子段和…

题目链接

题意

给定一个数组
求任意一个子数组和的绝对值的最大值(子数组可以为空)

方法一

对于最大子段和、最小子段和分别动态规划
最后对abs取max

思路

dpmx[i]表示以nums[i]结尾的子段中最大子段和
dpmn[i]表示以nums[i]结尾的子段中最小子段和

Code

#define pii pair<int,int>
#define ar2 array<int,2>
#define ar3 array<int,3>
#define ar4 array<int,4>
#define endl '\n'
void cmax(int &a,int b){a=max(a,b);};
void cmin(int &a,int b){a=min(a,b);};
const int N=2e5+10,MOD=1e9+7,INF=0x3f3f3f3f;const long long LINF=LLONG_MAX;const double eps=1e-6;
int a[N];class Solution {
public:int maxAbsoluteSum(vector<int>& nums) {int n=nums.size();vector<int>dpmx(n),dpmn(n);int ans=0;dpmx[0]=nums[0];for(int i=1;i<n;i++){dpmx[i]=max(dpmx[i-1],0)+nums[i];cmax(ans,dpmx[i]);}dpmn[0]=nums[0];cmax(ans,abs(dpmn[0]));for(int i=1;i<n;i++){dpmn[i]=min(dpmn[i-1],0)+nums[i];cmax(ans,abs(dpmn[i]));}return ans;}
};

实现细节

注意记得ans要跟dpmn的第一个元素取max

空间优化版

#define pii pair<int,int>
#define ar2 array<int,2>
#define ar3 array<int,3>
#define ar4 array<int,4>
#define endl '\n'
void cmax(int &a,int b){a=max(a,b);};
void cmin(int &a,int b){a=min(a,b);};
const int N=2e5+10,MOD=1e9+7,INF=0x3f3f3f3f;const long long LINF=LLONG_MAX;const double eps=1e-6;
int a[N];class Solution {
public:int maxAbsoluteSum(vector<int>& nums) {int n=nums.size();int ans=abs(nums[0]);int f0=nums[0];for(int i=1;i<n;i++){int nf=max(f0,0)+nums[i];cmax(ans,nf);f0=nf;}f0=nums[0];for(int i=1;i<n;i++){int nf=min(f0,0)+nums[i];cmax(ans,abs(nf));f0=nf;}return ans;}
};

方法二

前缀和 遍历尝试以[1,n-1]每个元素作为子数组结尾的情况 对n个sum取max

思路

对于每个点作为结尾 考虑前面的子段和[0,j]最小或者最大
这样[j+1,i]的子段和就是[0,i]中所有子数组和最大或者最小的
然后对abs取max


这里使用set维护前面的子段和 也可以开一个大根堆和一个小根堆

Code

class Solution {
public:int maxAbsoluteSum(vector<int>& nums) {int n=nums.size();set<int>st;int sum=0,ans=0;st.emplace(0);for(int i=0;i<n;i++){sum+=nums[i];ans=max({ans,abs(sum-*st.begin()),abs(sum-*st.rbegin())});st.emplace(sum);}return ans;}
};
http://www.dtcms.com/wzjs/231557.html

相关文章:

  • 长沙做网站的价格网络营销是什么意思
  • 在家做兼职哪个网站靠谱吗seo优化资源
  • 华大集团 做网站东莞网站建设平台
  • 网站建设组织机构口碑营销是什么
  • 做房产应看的网站seo网络推广案例
  • 公司网站开发合同 华律网最大的推广平台
  • 中国建设银行门户网站网站搭建源码
  • 大连零基础网站建设教学公司无锡网站制作无锡做网站
  • 做任务赚钱的网站代码百度度小店申请入口
  • 比较好的网站建设视频号链接怎么获取
  • 国外外贸网站有哪些问题竞价账户托管
  • 网站降权如何恢复重庆网站制作
  • 昆山建设网站企业网站管理系统怎么操作
  • 网站php源码海淀搜索引擎优化seo
  • 自建网站外贸怎么做网络推广都需要做什么
  • 做网站双12促销方案长沙关键词优化推荐
  • 互联网行业数据分析seo网站优化软件价格
  • 做电影下载网站还赚钱吗网络推广工作怎么样
  • 如何自己做网站模版网址seo优化排名
  • 数据导航 wordpressseo软文是什么意思
  • 微网站怎么做如何查看百度指数
  • seo网站推广教程百度指数大数据
  • 南京网站优化技术如何写营销软文
  • 建设的比较好的网站下载百度app并安装
  • wordpress随机合肥百度seo排名
  • 学网站开发的培训学校seo短视频发布页
  • 品牌网站建设-建站之路账户竞价托管费用
  • 县级新闻网站建设武汉网站建设方案优化
  • 公司做网站怎么赚钱企业短视频推广
  • 网站建设价格槽闸阀发布外链的平台有哪些